Home > Article > Backend Development > Why Doesn\'t \"(\'a\', \'b\') in [\'b\', \'a\', \'foo\', \'bar\']\" Work as Expected for Checking Multiple Values in a List?
How to Verify Multiple Values Belong to a List
Question:
I need to determine if several values are present in a list, but the following code produces unexpected results:
'a','b' in ['b', 'a', 'foo', 'bar']
Why doesn't this code function as intended, and how can I check for the membership of multiple values efficiently?
Answer:
Python interprets the code snippet as a tuple comparison, not as the desired list membership test. To test for the presence of multiple values correctly, use the following approach:
all(x in container for x in items)
Where container is the list or other sequence to be tested, and items is the iterable containing the values to find.
Additional Considerations:
Conclusion:
The all(x in container for x in items) method is a versatile and efficient solution for checking the membership of multiple values in a list or other container. Depending on the specific needs, converting to sets or using generators may further optimize performance.
The above is the detailed content of Why Doesn\'t \"(\'a\', \'b\') in [\'b\', \'a\', \'foo\', \'bar\']\" Work as Expected for Checking Multiple Values in a List?. For more information, please follow other related articles on the PHP Chinese website!