簡體   English   中英

Pythonic檢查列表中是否有多個元素的方法

[英]Pythonic way of checking if several elements are in a list

我在Python中有這段代碼:

if 'a' in my_list and 'b' in my_list and 'c' in my_list:
    # do something
    print my_list

有更多的pythonic方式嗎?

像(無效的python代碼如下):

if ('a', 'b', 'c') individual_in my_list:
    # do something
    print my_list
if set("abc").issubset(my_list):
    # whatever

最簡單的形式:

if all(x in mylist for x in 'abc'):
    pass

通常,當您在這些列表中有很多項目時,最好使用可以查找項目的數據結構,而無需比較每個項目,例如set

您可以使用set運算符:

if set('abc') <= set(my_list):
    print('matches')

superset = ('a', 'b', 'c', 'd')
subset = ('a', 'b')
desired = set(('a', 'b', 'c'))

assert desired <= set(superset) # True
assert desired.issubset(superset) # True
assert desired <= set(subset) # False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM