检查嵌套列表中是否没有

时间:2019-10-29 19:39:13

标签: python list nested itertools nonetype

如何在嵌套列表中查找“无”。当我运行以下代码时,不会打印Hello。我不知道如何在列表列表中找到“无”。您能帮我解决这个简单的问题吗?

.select

4 个答案:

答案 0 :(得分:4)

这基本上是How to make a flat list out of list of lists?的特例;您需要将其展平以执行测试。在这种情况下,最好的方法是使用itertools.chain进行展平,这允许您以短路方式使用in测试(找到None时停止测试) ,其后的元素将不做任何工作):

from itertools import chain

myList = [[0,1,2],[5,None,300]]

if None in chain.from_iterable(myList):
    print("Hello")

答案 1 :(得分:4)

您可以使用以下任何一种方式

myList = [[0,1,2],[5,None,300]]
if any(None in l for l in myList):
    print("Hello")

itertools.chain

from itertools import chain
if None in chain(*myList):
    print("Hello")

答案 2 :(得分:0)

请注意缩进:

for inner_list in myList:
   for item in inner_list:
      if item is None:
         print('hello')

答案 3 :(得分:0)

myList = [[0,1,2],[5,None,300]]

for x in myList:
    if None in x:
        print("Hello")

请注意,这将为找到的每个“无”打印一次。