How to determined if a 2 dimensional list contain a value?

后端 未结 4 1010
忘掉有多难
忘掉有多难 2020-12-30 06:30

I have a list like following

mylist = [(\'value1\', \'value2\', \'value3\'), (\'secval1\', \'secval2\', \'secval3\')]

how do I see if the l

相关标签:
4条回答
  • 2020-12-30 06:57

    Use any():

    any('value2' in sublist for sublist in mylist)
    
    0 讨论(0)
  • 2020-12-30 07:06

    similar to any(), a solution that also supports short-circuiting :

    >>> from itertools import chain
    >>> mylist = [('value1', 'value2', 'value3'), ('secval1', 'secval2', 'secval3')]
    >>> 'value2' in chain(*mylist)
    True
    

    proof that it short-circuits like any():

    >>> it=chain(*mylist)
    >>> 'value2' in it
    True
    >>> list(it) #part of iterable still not traversed
    ['value3', 'secval1', 'secval2', 'secval3']
    
    0 讨论(0)
  • 2020-12-30 07:09

    You can simply check all sublists with any:

    any('value2' in subl for subl in mylist)
    
    0 讨论(0)
  • 2020-12-30 07:19
    'value2' in (item for sublist in mylist for item in sublist)
    
    0 讨论(0)
提交回复
热议问题