Skip to main content
 首页 » 编程设计

python之根据列表迭代中的值删除字典项

2025年05月04日22leader

我尝试了以下方法:

losers = ['e', 'b'] 
candidates_and_fp_votes = {'a': 24, 'b': 0, 'c': 17, 'd': 23, 'e': 0} 
for i in losers: 
    del candidates_and_fp_votes[losers[i]] 
print(candidates_and_fp_votes) 

这只是返回错误:

TypeError: 列表索引必须是整数或切片,而不是 str

我想遍历 losers 并删除 candidates_and_fp_votes 中的每个项目,它在 losers 中有一个键

我期望输出:

{'a': 24, 'c': 17, 'd': 23} 

我该如何解决这个问题?

提前致谢。

请您参考如下方法:

i 是列表元素,不是索引。应该是:

del candidates_and_fp_votes[i] 

或者应该是:

for i in in range(len(losers)): 

如果您出于某种原因真的需要索引。