How to search for an item in a list of lists?

前端 未结 5 754
星月不相逢
星月不相逢 2021-01-25 00:15

How can I do something like this.

index=[[test1,test2,test3],[test4,test5,test6],[test7,test8,test9]]
if test5 is in index:
    print True
相关标签:
5条回答
  • 2021-01-25 00:34

    Using any + generator expression:

    if any(test5 in subindex for subindex in index):
        print True
    
    0 讨论(0)
  • 2021-01-25 00:34

    Loop over your list of lists, and check for existence in each inner list:

    for list in list_of_lists:
      if needle in list :
        print 'Found'
    
    0 讨论(0)
  • 2021-01-25 00:38

    Or perhaps try itertools to unroll the array :-

    index=[[test1,test2,test3],[test4,test5,test6],[test7,test8,test9]]
    if test5 in itertools.chain(*index):
        print True
    
    0 讨论(0)
  • 2021-01-25 00:42

    try by this way

    index = [['test1','test2','test3'], ['test4','test5','test6'], ['test7','test8','test9']]
    any(filter(lambda x : 'test5' in x, index))
    
    0 讨论(0)
  • 2021-01-25 00:55

    try

    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
    

    see also Making a flat list out of list of lists in Python

    0 讨论(0)
提交回复
热议问题