如何在嵌套列表中查找“无”。当我运行以下代码时,不会打印Hello。我不知道如何在列表列表中找到“无”。您能帮我解决这个简单的问题吗?
.select
答案 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")
请注意,这将为找到的每个“无”打印一次。