1

我有两个列表,我想修改第一个列表的特定内容并发送输出,但是当我尝试修改它时,出现错误 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"}]

我在这里犯了什么错误?

谁能指导我如何获得所需的输出。

4

1 回答 1

1

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

于 2015-11-18T05:00:09.123 回答