保留除一个键外的所有条目 Python
我有一个Python字典。为了让大家明白,我正在尝试写一个简单的交叉验证单元。
简单来说,我想要获取字典中所有的值,除了指定的那些键对应的值。
也就是说,如果输入的是2和5,那么输出的值就不包括键为2和5的那些值,对吧?
11 个回答
17
只是为了好玩,关于集合的内容
keys = set(d.keys())
excludes = set([...])
for key in keys.difference(excludes):
print d[key]
27
如果你的目标是返回一个新的字典,里面包含所有的键值对,除了一个或几个特定的,可以使用下面的代码:
exclude_keys = ['exclude', 'exclude2']
new_d = {k: d[k] for k in set(list(d.keys())) - set(exclude_keys)}
在这里,'exclude'
可以替换成你想要排除的键的列表。
77
for key, value in your_dict.items():
if key not in your_blacklisted_set:
print value
这段伪代码的美妙之处在于,它实际上是有效的Python代码。
它还可以用列表推导式来表示:
resultset = [value for key, value in your_dict.items() if key not in your_blacklisted_set]