当找到列表中的变量时,Python返回列表中的列表

时间:2017-10-16 11:04:13

标签: python python-3.x list for-loop

我是Python的初学者。我试图将列表列表中的列表返回到新的列表列表中。我已经广泛地查看了类似的问题,但找不到答案。

l1 = [['a','b','c','d'],['b','c','d','f'],['b','c','a','f']]

我想循环通过l1检查是否' a'在列表中,当为true时,将该列表添加到新的列表列表l2中。我到目前为止(不是很远):

l2 = []
for selector in l1:
    if 'a' in selector:
        l2.append(*#I don't know this part*)

我想要的是这个结果:

l2 = [['a','b','c','d'],['b','c','a','f']]

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用列表推导来迭代内部列表

>>> [sub for sub in l1 if 'a' in sub]
[['a', 'b', 'c', 'd'], ['b', 'c', 'a', 'f']]

要完成上面显示的代码片段,您使用for循环的方式是

l2 = []
for selector in l1:
    if 'a' in selector:
        l2.append(selector)

>>> l2
[['a', 'b', 'c', 'd'], ['b', 'c', 'a', 'f']]