首页 > 解决方案 > 如何从 python 中的字典中删除 key: 对某个数字的对?

问题描述

给定一个数字和一个字典,“remove_numbers_larger_than”会删除其值为大于给定数字的数字的任何键。返回修改后的字典。

def remove_numbers_larger_than(dictionary, number):
    for k, v in dictionary.items():
        if v > number:
            del d[k]
    return dictionary

标签: python

解决方案


如果您需要修改给定dict的位置,请先复制键,以便从 dict 中删除键不会干扰迭代。

def remove_numbers_larger_than(dictionary, number):
    keys = list(dictionary)
    for k in keys:
        if dictionary[k] > number:
            del dictionary[k]
    return dictionary

如果您可以自由地创建一个新的dict

def remove_numbers_larger_than(dictionary, number):
    return dict(kv for kv in dictionary.items() if kv[1] <= number)

推荐阅读