我在列表列表中的搜索有什么问题?输出应为It's there
mylist = [['a','b','c'],['d','e','f']]
if 'a' in mylist:
print "It's there"
else:
print "it's not there"
答案 0 :(得分:3)
链接嵌套列表并按照惯例进行操作:
'a' in itertools.chain.from_iterable(mylist)
或者,您可以检查列表中的每个项目:
any('a' in item for item in mylist)
答案 1 :(得分:2)
'a'
不在mylist
;相反,它位于mylist
中包含的一个列表中:
In [240]: for sublist in mylist:
.....: if 'a' in sublist:
.....: print("'a' exists in", sublist)
.....:
'a' exists in ['a', 'b', 'c']
所以,如果你想检查一个元素是否存在于许多子列表的任何中:
In [241]: any('a' in sublist for sublist in mylist)
Out[241]: True
答案 2 :(得分:0)
'一个'当然不在你的列表中。您的列表有两个元素,每个元素都是一个列表。寻找' a'在列表中包含的每个列表中,您需要将列表展平为一个列表并在其中进行搜索。