gpt4 book ai didi

python - RuntimeError:OrderedDict在迭代过程中发生了突变(Python3)

转载 作者:行者123 更新时间:2023-12-04 14:54:09 27 4
gpt4 key购买 nike

得到标题中提到的错误。下面提到的函数由通过POST api调用的另一个函数调用。

打印语句下方的行上有错误。不知道该错误意味着什么,为什么会出现。一周前使用的相同代码。

def remove_individual_stops(ordered_parkstop_dict, relevant_data):
new_ordered_parkstop_dict = ordered_parkstop_dict
for key, value in ordered_parkstop_dict.items():
if len(value) == 0:
for k,v in ordered_parkstop_dict.items():
if key in v:
new_ordered_parkstop_dict.pop(key)
print (type(ordered_parkstop_dict), ordered_parkstop_dict)
for k,v in ordered_parkstop_dict.items():
klist = []
keylist = []
if value and v:
if len(v)==1 and len(value)==1:
klist.append(k), keylist.append(key)
if (keylist == v) and (klist == value and len(value) == 1):
new_ordered_parkstop_dict.pop(key)
return new_ordered_parkstop_dict

最佳答案

您为new_ordered_parkstop_dict分配了ordered_parkstop_dict字典的引用,因此,当您遍历ordered_parkstop_dict.items()并通过弹出它来对new_ordered_parkstop_dict进行突变时,您也对ordered_parkstop_dict进行了突变,因为循环正在迭代,因此无法完成超过ordered_parkstop_dict

您应该将ordered_parkstop_dict的副本分配给new_ordered_parkstop_dict。更改:

new_ordered_parkstop_dict = ordered_parkstop_dict


至:

new_ordered_parkstop_dict = ordered_parkstop_dict.copy()

关于python - RuntimeError:OrderedDict在迭代过程中发生了突变(Python3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52549623/

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