gpt4 book ai didi

python - 从列表中删除字典的子集

转载 作者:太空狗 更新时间:2023-10-29 22:05:19 31 4
gpt4 key购买 nike

这真的只用一个例子很容易解释,所以要从字典中删除列表的交集,我通常会这样做:

a = {1:'', 2:'', 3:'', 4:''}
exclusion = [3, 4, 5]

# have to build up a new list or the iteration breaks
toRemove = []
for var in a.iterkeys():
if var in exclusion:
toRemove.append(var)

for var in toRemove:
del a[var]

这可能看起来像是一个不寻常的例子,但令人惊讶的是我不得不做这样的事情的次数。用集合来做这个会好得多,但我显然想保留字典的“值”。

这个方法很烦人,因为它需要两个循环和一个额外的数组。有没有一种更清洁、更有效的方法。

最佳答案

考虑 dict.pop :

for key in exclusion:
a.pop(key, None)

key 不是键时,None 防止 pop 引发异常。

关于python - 从列表中删除字典的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167120/

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