簡體   English   中英

檢查列表是否存在於另一個列表中?

[英]Checking to See if a List Exists Within Another Lists?

好吧,我正在嘗試采用更加pythonic的方法。

我該怎么做:

required_values = ['A','B','C']
some_map = {'A' : 1, 'B' : 2, 'C' : 3, 'D' : 4}

for required_value in required_values:
    if not required_value in some_map:
        print 'It Doesnt Exists'
        return False
return True

我查看了內置函數all ,但我真的不知道如何將其應用於上述場景。

有什么建議使這更pythonic?

all(value in some_map for value in required_values)
return set(required_values).issubset(set(some_map.keys()))

嘗試列表理解:

如果x不在some_map.keys()中,則返回非bool([x for x in required_values])(為了清晰起見,bool轉換)

或者如果x不在some_map.keys()中則不返回[x for x in required_values](我認為更加pythonic的方式)

如果列表為空,則inside []語句構建一個不在映射鍵中的所有必需值的列表,它的計算結果為False,否則為True。

因此,如果地圖不是所有必需值,則列表推導表達式構建的列表中至少會有一個元素。 這將評估為True,因此我們否定了滿足您的代碼要求的結果(所有必需的值都應該出現在地圖中)

暫無
暫無

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

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