【发布时间】:2023-04-02 14:29:01
【问题描述】:
我不明白当我从 list_of_dictionaries 中删除 list() 时,python 给出了这个错误 'dictionary changed size during iteration'
dissimilar_frag_dict=frag_dict
list_of_dictionary_elements=list(frag_dict.items()) #this is the problem
for s1_key,s1_value in list_of_dictionary_elements :
for s2_key,s2_value in list_of_dictionary_elements :
similarity=get_similarity(s1_value,s2_value)
if similarity>=threshold and s1_key!=s2_key:
max_lexicographic_order=max(s1_key,s2_key)
dissimilar_frag_dict.pop(max_lexicographic_order,'dne')
print(f'number 0f dissimilar genes:{len(dissimilar_frag_dict)}')
return dissimilar_frag_dict
【问题讨论】:
-
是的,正如错误消息所暗示的那样,您无法在迭代字典时更改字典的大小。
-
dissimilar_frag_dict=frag_dict这不会复制字典。两个名称都指相同的字典。
标签: python python-3.x