从字典中删除其键是列表元素的所有元素

dar*_*der 7 python dictionary list

如何从字典中删除其键是列表元素的所有元素?

pyf*_*unc 11

[ 注意:这不是直接答案,但考虑到之前的猜测,这个问题看起来像是家庭作业.我想提供帮助,帮助解决问题,同时从中学习

分解你的问题是:

  1. 如何从列表中获取元素
  2. 如何删除键:字典中的值

进一步帮助:

如何在python上获取列表的所有元素?

For循环适用于所有序列,list是一个序列.

for key in sequence: print key
Run Code Online (Sandbox Code Playgroud)

如何删除字典中的元素?

使用del(key)方法.

您应该能够将这两项任务结合起来.

  • 你没有回答这个问题.你可能已经指出了他正确的方向,但并不是每个人都希望在尝试快速完成某些工作时继续寻求知识. (3认同)
  • @Will:我明白了.我是早期回答这个问题的人之一.从谈话中看,这看起来像是一个家庭作业问题.在Stackoverflow,我们劝阻回答问题,除非已经展示了一些尝试.我想,我已经提供了一个很好的方向,这将有利于他,而不是提供切割n粘贴解决方案.我希望上下文有所帮助. (3认同)

ros*_*dia 10

for key in list_:
    if key in dict_:
        del dict_[key]
Run Code Online (Sandbox Code Playgroud)

  • @blackkettle:在Python 3中,`dict_`中的键实际上是检查dict是否有某个给定键的唯一方法 - 已经删除了`has_key()`方法. (4认同)

Joh*_*ooy 7

map(dictionary.__delitem__, lst)
Run Code Online (Sandbox Code Playgroud)

  • 仅当所有lst都在字典中时才有用 - 否则你将在某处获得KeyError.尝试:`map(字典.__ delitem__,过滤器(字典.__ contains _,lst))`(虽然实际上,我不是使用`map`或list comps作为普通for循环的替身的忠实粉丝.) (2认同)

Den*_*ing -2

我对Python一无所知,但我猜你可以遍历一个列表并按键从字典中删除条目?