【发布时间】:2017-10-27 21:53:33
【问题描述】:
我发现了一个非常相似的帖子,他们在每个列表中使用了三个项目,但是我似乎不明白如何将其切换为五个。 这是来自 .csv 文件的字符串,在新行处拆分以创建多个字符串:
['0,3,2,1,0', '0,1,2,3,0', '0,1,3,2,0', '1,0,2,3,0', '3,0,0,2,1', '1,0,2,3,0', '1,3,0,2,0', '0,0,1,0,0', '0,2,1,0,0', '3,1,0,2,0', '3,2,0,0,1', '2,0,0,3,1', '0,2,0,1,2', '2,0,3,0,1', '0,3,0,1,2', '2,3,1,0,0']
我需要把它变成这样:
[['0,3,2,1,0'], ['0,1,2,3,0'], ['0,1,3,2,0'], ['1,0,2,3,0'], ['3,0,0,2,1'], ['1,0,2,3,0'], ['1,3,0,2,0'], ['0,0,1,0,0'], ['0,2,1,0,0'], ['3,1,0,2,0'], ['3,2,0,0,1'], ['2,0,0,3,1'], ['0,2,0,1,2'], ['2,0,3,0,1'], ['0,3,0,1,2'], ['2,3,1,0,0']]
此字符串列表稍后将包含更多项目,因此我无法手动设置每个列表应开始和结束的边界,这将花费大量时间。
他们在类似帖子中的做法是这样的:
i=0
new_list=[]
while i<len(data_list):
new_list.append(data_list[i:i+3])
i+=3
但是,当我将值更改为 5 时,它显示列表超出范围。有人可以解释一下如何增加列表涵盖的元素数量吗?
【问题讨论】:
-
试试这个:
[[e] for e in l] -
我试过了,但它只为每个列表提供一个数字
-
我在 Ajax 在下面给出答案的同时发表了评论。这怎么行不通?
l是您的长长名单。 -
是的,我明白这一点,我用我的列表名称替换了 L。它给了我这个 [['0'], [','], ['3'], [','], ['2'], (etc)
-
我投票结束这个问题,因为数据结构显然不是这里发布的内容。