在枚举字典时,为什么我收到“字典在迭代期间更改大小”错误?

问题描述 投票:0回答:1
di=dict([(45,"Sdds"),(34,"Dffd")])
for key,di[key] in enumerate(di):
    print("we are at key "+str(key)+" and value in dict "+str(di[key]))

运行此代码时,我收到“运行时错误:字典在迭代期间更改了大小”。 你能帮我解决这个错误吗?

python-3.x dictionary for-loop runtime-error enumerate
1个回答
0
投票

使用语法

for key,di[key] in enumerate(di):
,您在迭代时修改字典:第一次迭代
key = 0
,然后尝试使用字典中已找到的键之一设置
di[0]

试试这个:

di = dict([(45, "Sdds"), (34, "Dffd")])

for key, item in di.items():
    print(f"we are at key {key} and value in dict {item}")

打印:

we are at key 45 and value in dict Sdds
we are at key 34 and value in dict Dffd
© www.soinside.com 2019 - 2024. All rights reserved.