将字典追加到列表中将创建重复项

时间:2020-09-28 17:36:05

标签: python

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

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'}}]

1 个答案:

答案 0 :(得分:3)

这是您要找的吗?

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'}}]