1

我怎么能做这样的事情。

index=[[test1,test2,test3],[test4,test5,test6],[test7,test8,test9]]
if test5 is in index:
    print True
4

5 回答 5

8

使用任何+生成器表达式

if any(test5 in subindex for subindex in index):
    print True
于 2013-07-30T03:50:41.637 回答
2

遍历您的列表列表,并检查每个内部列表中是否存在:

for list in list_of_lists:
  if needle in list :
    print 'Found'
于 2013-07-30T03:51:11.760 回答
2

试试这种方式

index = [['test1','test2','test3'], ['test4','test5','test6'], ['test7','test8','test9']]
any(filter(lambda x : 'test5' in x, index))
于 2013-07-30T04:36:39.593 回答
1

或者也许尝试使用 itertools 展开数组:-

index=[[test1,test2,test3],[test4,test5,test6],[test7,test8,test9]]
if test5 in itertools.chain(*index):
    print True
于 2013-07-30T03:54:06.783 回答
0

尝试

index=[[test1,test2,test3],[test4,test5,test6],[test7,test8,test9]]
flat_index=[item for sublist in index for item in sublist]
if test5 is in flat_index:
    print True

另请参阅从 Python 中的列表列表中制作一个平面列表

于 2013-07-30T03:54:01.487 回答