加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:20:15 所属栏目:Python 来源:网络整理
导读:我真的陷入了一个基本问题.我试图获取一个项目的列表,并将其分成许多项目的列表,每个项目的字符长度为10.例如,给出一个列表,其中包含一个项目,[‘222222222222222222223333333333’],输出将产生: 222222222222222222223333333333 我觉得这很简单,但我很难过
我真的陷入了一个基本问题.我试图获取一个项目的列表,并将其分成许多项目的列表,每个项目的字符长度为10.例如,给出一个列表,其中包含一个项目,[‘222222222222222222223333333333’],输出将产生:
2222222222
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']

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读