gpt4 book ai didi

python - 使用 for 循环从字典中删除项目

转载 作者:太空狗 更新时间:2023-10-30 00:32:07 24 4
gpt4 key购买 nike

<分区>

如果键的值低于某个阈值,我会尝试从字典中删除项目。举个简单的例子来说明我的意思:

my_dict = {'blue': 1, 'red': 2, 'yellow': 3, 'green': 4}

for color in my_dict:
threshold_value = 3
if my_dict[color] < threshold_value:
del my_dict[color]

print(my_dict)

现在,我收到一个 RuntimeError: dictionary changed size during iteration 错误。那里没有什么大惊喜。我发布这个问题的原因是:

  1. 找出是否有不需要创建新字典(仅包含值 >= 阈值的键)的优雅解决方案。

  2. 在这里尝试理解 Python 的基本原理。我自己读它的方式是:“转到第一个键。那个键的值 < x 吗?如果是 - 删除这个键:值项并继续字典中的下一个键,如果不是 - 继续什么都不做的下一个键”。换句话说,以前的 key 历史上发生的事情不应该影响我接下来的去向。无论过去如何,我都期待着下一个项目。我知道这很有趣(有些人可能会说这很愚蠢,我会告诉你)但是 Python 对这个循环的“思考方式”是什么?为什么它不起作用? Python 将如何大声朗读它?只是想更好地理解语言......

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com