python - 在 python 中按值删除字典项的最佳方法是什么?

标签 python python-2.7 python-3.x dictionary

<分区>

我想知道是否有简单方法可以从 python 字典中删除一个更多字典元素.

我们有一个名为 myDict 的字典:

myDict = {1:"egg", "Answer":42, 8:14, "foo":42}

并希望删除所有等于42的项目。

实现建议:

  1. 获取myDict
    中某个值的所有键的列表(例如参见get key by value in dictionary。)

  2. myDict
    (有关更多信息,请参阅 Delete an element from a dictionary。)中删除此字典元素(基于找到的键)

那么,您认为现在用 Python 实现这个问题的最优雅最“pythonic”的方法是什么?

最佳答案

你可以使用一个简单的dict理解:

myDict = {key:val for key, val in myDict.items() if val != 42}

因此:

>>> {key:val for key, val in myDict.items() if val != 42}
{8: 14, 1: 'egg'}

关于python - 在 python 中按值删除字典项的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29218750/

相关文章:

python - 如何根据文本节点的值添加一个xml节点

Python Keras cross_val_score 错误

python-2.7 - 更改 mpld3 中的刻度标签颜色

python - 导入/执行模块并从父模块调用函数

python - 在没有库的python中自定义crc32计算

python - pyechonest(Echo Nest python 库)如何在本地收集当前艺术家的数据?

Opencv:cv2.findContours 修改已经绘制的图像?

python - 如何获取数据框中的事件频率和每个事件的频率?

python - 代码不适用于十位和百位的奇数

python - 每当修改其他实例属性时,自动更新某些 "private"属性