gpt4 book ai didi

python - 删除不在集合中的字典条目

转载 作者:行者123 更新时间:2023-11-28 19:35:53 25 4
gpt4 key购买 nike

给定以下字典和集合:

d = {1 : a, 2 : b, 3 : c, 4 : d, 5 : e }
s = set([1, 4])

我想知道是否可以删除所有不包含在集合中的字典条目(即 2、3、5)。我知道我可以通过遍历字典并检查每个键来实现这一点,但由于我是 Python 的新手并且到目前为止遇到了许多“快捷方式”,我想知道是否存在针对这个特定问题的快捷方式。

最佳答案

d = {1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e' }
s = set([1, 4])

由于在迭代字典时不应修改字典,因此您有两种创建新字典的可能性。

一种是从旧字典过滤掉值创建一个新字典:

d2 = dict((k,v) for k,v in d.iteritems() if k in s)

第二个是提取键,将它们与 s-set 相交并使用它们构建一个新字典:

d2 = dict((k, d[k]) for k in set(d) & s)

第三种是直接从d中移除元素:

for k in set(d) - s:
del d[k]

关于python - 删除不在集合中的字典条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com