python - 根据条件删除字典中的条目

标签 python dictionary

我有一个字典,名称作为键,(年龄,出生日期)元组作为这些键的值。例如

dict = {'Adam' : (10, '2002-08-13'),
        'Eve'  : (40, '1972-08-13')}

我想删除所有在值元组中年龄大于 30 的键,我该怎么做?我正在使用 dict[name][0] 访问每个键的年龄,其中 dict 是我的字典。

最佳答案

通常的方法是创建一个新字典,只包含您要保留的项目:

new_data = {k: v for k, v in data.items() if v[0] <= 30}

如果您需要就地更改原始字典,您可以使用 for 循环:

for k, v in list(data.items()):
    if v[0] > 30:
        del data[k]

请注意,list(data.items()) 创建了字典项的浅拷贝,即包含对所有键和值的引用的新列表,因此修改原始列表是安全的循环内的字典。

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

相关文章:

python - 将列表列表转换为具有多个键值的字典

c++ - 更改 std::map 中值的键

javascript - Python/Bokeh - 如何通过选择、回调和 CustomJS/js_on_change 按列值过滤行来更改数据源

python - 如何最好地在 Google App Engine Python 上每 x 秒运行一次函数

python - 根据 Pandas 中正则表达式的条件测试创建一个新列

python - 编写 BIG pandas DataFrame 的最快方法

python - 如何从 'column' 快速获取 'matrix' ? (不一定是数字)

swift - 如何将数组值从 ViewController 的协议(protocol)传递到另一个 ViewController

python - 从字典中的列表中查找元素并返回该键

eclipse - 如何在eclipse中创建用户字典?