我真的陷入了一个基本问题.我试图获取一个项目的列表,并将其划分为许多项目的列表,每个项目的字符长度为10.例如,给出一个包含一个项目的列表['111111111122222222223333333333'],输出将产生:
1111111111
2222222222
3333333333
Run Code Online (Sandbox Code Playgroud)
我觉得这很简单,但我很难过.我试图创建一个这样的函数:
def parser(nub):
while len(nub) > 10:
for subnub in nub:
subnub = nub[::10]
return(subnub)
else:
print('Done')
Run Code Online (Sandbox Code Playgroud)
显然,这不起作用.有什么建议?使用字符串比列表更容易吗?
已经提出了一个相关问题: 将列表切成子列表列表
例如,如果您的源列表是:
the_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, ... ]
Run Code Online (Sandbox Code Playgroud)
你可以拆分它像:
split_list = [the_list[i:i+n] for i in range(0, len(the_list), n)]
Run Code Online (Sandbox Code Playgroud)
假设n是您的子列表长度,结果将是:
[[1, 2, 3, ..., n], [n+1, n+2, n+3, ..., 2n], ...]
Run Code Online (Sandbox Code Playgroud)
然后你可以像下面这样迭代它:
for sub_list in split_list:
# Do something to the sub_list
Run Code Online (Sandbox Code Playgroud)
字符串也是如此.
这是一个实际的例子:
>>> n = 2
>>> listo = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> split_list = [listo[i:i+n] for i in range(0, len(listo), n)]
>>> split_list
[[1, 2], [3, 4], [5, 6], [7, 8], [9]]
>>> listo = '123456789'
>>> split_list = [listo[i:i+n] for i in range(0, len(listo), n)]
>>> split_list
['12', '34', '56', '78', '9']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6570 次 |
| 最近记录: |