我需要做的是,如果键不在输入范围内,请从字典中删除值。这是我当前的代码。
while True:
player = input("Input player:")
if player == '':
break
score = int(input("Input score:"))
playerDict[player] = score
minimum = int(input("Input a minimum score:"))
maximum = int(input("Input a maximum score:"))```
如果键不在最小到最大范围内,那么我要删除它们。我尝试过的所有方法都不起作用,因为我不知道输入的值是什么。
答案 0 :(得分:2)
new_dict = {k: v for k, v in your_dictionary.items() if minimum < k < maximum}
或者,如果您想要更清晰的内容
new_dict = {}
for k, v in your_dictionary.items():
if minimum < k < maximum:
new_dict[k] = v
请注意,由于operator chaining
,Python中允许使用minimum < k < maximum
(而不是minimum < k and k < maximum
)。
或者,用filter
和dict
new_dict = dict(filter(lambda kv: minimum < kv[0] < maximum, your_dictionary.items()))
(我认为这是最糟糕的一个)