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'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |