我为一个愚蠢的问题工作了一个多小时,但我想不出解决办法。
我用一个初始列表创建一个defaultdict(list),并通过for循环更新这些列表。
但是,每次我更新一个值,所有其他值都会用相同的值更新。
有人能帮帮我吗?
这是我的代码:from collections import defaultdict
base = ["coucou", "salut", "tchao"]
initial_vector = [0]*len(base)
dict_vectorized_documents = defaultdict(lambda: initial_vector)
inversed_index = {"coucou": [(1, 3), (100, 4)], "salut": [(1, 1), (99, 2), (33, 3)], "tchao": [(1, 5)]}
for i, word in enumerate(base):
print(word)
for element in inversed_index[word]:
print(element[0])
print(i)
print(element[1])
print(dict_vectorized_documents[element[0]][i])
dict_vectorized_documents[element[0]][i] = element[1]
print(dict_vectorized_documents)
print(dict_vectorized_documents)
下面是我运行时的日志:
^{pr2}$
非常感谢!在