![](/img/trans.png)
[英]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.