Godot 4中遍历Dictionary的For循环触发无限循环问题求助
问题解决:字典遍历出现无限循环
首先,你的代码存在基础语法错误:Python 里没有var关键字,变量声明直接写NumberOfFruits = 0即可,原代码中的var会直接触发语法错误。
如果修正语法后仍出现无限循环,核心原因大概率是你在循环过程中修改了字典Fruits(比如不小心添加了新的键值对)。Python 遍历字典时,迭代器依赖当前的键集合,若遍历过程中字典的大小发生变化(增删键),迭代器就无法正常终止,进而陷入无限循环。
你的需求是统计字典元素个数,正确的循环实现代码如下:
Fruits = {} NumberOfFruits = 0 Fruits["apple"] = {"color":"red"} Fruits["banana"] = {"color":"yellow"} Fruits["orange"] = {"color":"orange"} for i in Fruits: NumberOfFruits += 1 print(NumberOfFruits) # 输出3
另外,更高效的方式是直接使用 Python 内置的len()函数,无需循环:
NumberOfFruits = len(Fruits)
一行代码就能直接获取字典的元素个数,结果同样为3。
内容的提问来源于stack exchange,提问作者Dandy Wallaby
相关产品推荐
相关产品推荐

