如何解决TypeError:unhashable type' list'

时间:2015-11-18 04:56:07

标签: python mongodb list dictionary hashable

我有两个列表我想修改第一个列表的特定内容并发送输出但是当我尝试修改它时,出现错误 TypeError: unhashable type: 'list'。 我正在使用python和mongodb。

这两个清单是

data = [{"id" : ["5630baac3f32df134c18b682","564b22373f32df05fc905564"],"phone" : ["9988776655","9638527410"], "Request": "Support staff", "Date": "19-11-2015"}]
test = [{"phone" : "9638527410", "id": "5630baac3f32df134c18b682"}]
id = {}
for info in chain(data, test):
    id.setdefault(info['id'], {}).update(info)
res = list(id.values())
print(res)

所需的输出是

[{"phone" : "9638527410", "id": "5630baac3f32df134c18b682", "Request": "Support staff", "Date": "19-11-2015"}]

我在这里犯的错误是什么?

任何人都可以指导我如何获得所需的输出。

1 个答案:

答案 0 :(得分:1)

您正在使用列表作为字典中的键。 List不是python中的hashable类型。因此,它不能用作字典中的键。只有可以使用的类型如元组,字符串,数字才能用作字典中的键。