[英]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.