首页 > 解决方案 > 将字典附加到列表中会创建重复项

问题描述

我正在尝试创建一个字典列表,但是每次当我尝试将新项目附加到列表时,它都会用新项目替换以前的副本。

nested_dict = {}

request_data = { 
        "locale": "US",
        "field": "Company Name",
        "document_type": "invoice"
    }


for key, value in request_data.items():
    term_item = {}
    term_item[key] = value
    nested_dict["term"] = term_item
    term_list.append(nested_dict)

获得的结果:

[{'term': {'document_type': 'invoice'}}, {'term': {'document_type': 'invoice'}}, {'term': {'document_type': 'invoice'}}]

期待 :

[{'term': {"locale": "US"}}, {'term': {"field": 'Company Name'}}, {'term': {'document_type': 'invoice'}}]

标签: python

解决方案


那是你要找的吗?

request_data = { 
        "locale": "US",
        "field": "Company Name",
        "document_type": "invoice"
    }

print([{'term': {key,value}} for key,value in request_data.items()])

输出:

[{'term': {'US', 'locale'}}, {'term': {'Company Name', 'field'}}, {'term': {'document_type', 'invoice'}}]

推荐阅读