如何在python的嵌套列表中添加值

时间:2019-02-04 18:18:43

标签: python python-3.x list

我有一个列表

list= [['1', '2', '4'], ['1', '48', '2'], ['53', '33', '25', '2', '26', '47']]

在每个列表中将其添加到新列表中(从第一个值到值:'2')

newlist= [['1', '2'], ['1', '48'],['48', '2'], ['53', '33']['33', '25']['25', '2']]

但下面的代码可在所有值上运行

[m[i:i+2] for i in range(0, len(list), 1)]

2 个答案:

答案 0 :(得分:0)

您可以尝试两个for循环,一个用于循环访问列表中的项,另一个for循环用于循环访问内部列表中index的{​​{1}}。

注意:最好不要使用'2'作为变量名。

list

答案 1 :(得分:0)

您可以通过将每个子列表的相邻项与zip自身以1的偏移量进行配对,然后使用itertools.takewhile来输出对,直到第一项等于'2'

from itertools import takewhile
l = [['1', '2', '4'], ['1', '48', '2'], ['53', '33', '25', '2', '26', '47']]
[list(t) for s in l for t in takewhile(lambda t: t[0] != '2', zip(s, s[1:]))]

这将返回:

[['1', '2'], ['1', '48'], ['48', '2'], ['53', '33'], ['33', '25'], ['25', '2']]