[英]Identifying a key in one dict, and using it to modify values of another dict
[英]Check if at least one key of dict is contained in another dict
我想檢查給定字典中的至少一個鍵在另一個字典中是否可用。 我已經知道如何檢查“必須”這樣的鍵:
valid_data = []
needed_keys = (key1, key2)
for d in data:
if not all(key in d for key in needed_keys):
continue # ignore invalid object
valid_data.append(d)
這里的數據是字典列表。 使用此代碼,只有包含key1和key2的項目才會附加到valid_data。
是否有類似的東西:
if not any(key in d for key in needed_keys)
如果所需的密鑰中有任何密鑰可用,它也會成功嗎?
可以說你的數據是這樣的
>>> d1, d2 = {"a" : 1, "b" : 2, "c" : 3}, {"b" : 1, "c" : 2, "d" : 3}
首先,將所需的鍵定義為一組。 可以說,
>>> needed_keys = {"a", "b", "d"}
現在,您只需檢查字典鍵和needed_keys
是否至少有一個共同的項目,使用set.isdisjoint
設置操作,就像這樣
>>> [item for item in (d1, d2) if not needed_keys.isdisjoint(item)]
這將非常有效,因為如果找到單個公共元素,它將立即返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.