【发布时间】:2014-06-11 22:41:17
【问题描述】:
我无法将数组 [3,5] 添加到字典 linedict = {}。我已经检查了Python: TypeError: unhashable type: 'list' 上提到的解决方案 但仍然出现错误(TypeError: unhashable type: 'list')
links = [links[i:i+2] for i in range(0, len(links), 2)]
for i in range(0, len(links), 1):
print links[i]
if links[i] not in linedict:#on this linme
linedict[links[i]].append( prob)
我想创建 [3,5] 值为 0.03 的字典。
【问题讨论】:
-
links[i]是一个列表。 -
对不起,我编辑忘了提及
-
这是一个
list。您不能散列list因为它们是可变的(因此它们的散列可能会在字典的控制之外发生变化)。您必须将其转换为tuple -
我已经尝试过这个 linedict[tuple(links[i])].append(prob) 但错误仍然是 Key Error
-
因为
in关键字也在尝试对list进行哈希处理,因为它正在测试作为键的值是否存在。
标签: python