RuntimeError: dictionary changed size during iteration
i 遍历字典关键字
for i in user_trust.keys():
nodes, nodes1, nodes2, nodes3, nodes4, nodes5, nodes6 = devide_into_6(user_trust, i)
score = trust_score(i, nodes1, nodes2, nodes3, nodes4, nodes5, nodes6, user_trust, user_count)
score_matrix[i, :] = score
print(score_matrix)
导致出错
Traceback (most recent call last):
File "C:/Users/Ellan/Desktop/untitled/main.py", line 10, in <module>
for i in user_trust.keys():
RuntimeError: dictionary changed size during iteration
Process finished with exit code 1
修改代码,换遍历关键词为遍历列表
for i in list(user_trust.keys()):
nodes, nodes1, nodes2, nodes3, nodes4, nodes5, nodes6 = devide_into_6(user_trust, i)
score = trust_score(i, nodes1, nodes2, nodes3, nodes4, nodes5, nodes6, user_trust, user_count)
score_matrix[i, :] = score
print(score_matrix)
编译成功
[[0. 0. 0. ... 0. 0. 0. ]
[0. 1. 1. ... 0.321 0. 0. ]
[0. 1. 1. ... 0.321 0.307 0. ]
...
[0. 0. 0. ... 1. 1. 1. ]
[0. 0. 0. ... 0. 1. 1. ]
[0. 0. 0. ... 0. 1. 1. ]]
Process finished with exit code 0