python – 如何将列表或字符串解析为固定长度的块

我真的陷入了一个基本问题.我试图获取一个项目的列表,并将其分成许多项目的列表,每个项目的字符长度为10.例如,给出一个列表,其中包含一个项目,[‘111111111122222222223333333333’],输出将产生:

1111111111
2222222222
3333333333

我觉得这很简单,但我很难过.我试图创建一个这样的函数:

def parser(nub):    
    while len(nub) > 10:  
        for subnub in nub:  
            subnub = nub[::10]
            return(subnub)  
    else:  
        print('Done')

显然,这不起作用.有什么建议?使用字符串比列表更容易吗?

解决方法

有人提出了一个相关的问题:


Slicing a list into a list of sub-lists

例如,如果您的源列表是:

the_list = [1,2,3,4,5,6,7,8,9,... ]

你可以拆分它像:

split_list = [the_list[i:i+n] for i in range(0,len(the_list),n)]

假设n是您的子列表长度,结果将是:

[[1,...,n],[n+1,n+2,n+3,2n],...]

然后你可以像下面这样迭代它:

for sub_list in split_list:
    # Do something to the sub_list

字符串也是如此.

这是一个实际的例子:

>>> n = 2
>>> listo = [1,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,n)]
>>> split_list
['12','34','56','78','9']

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。