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'}}]
解决方案
那是你要找的吗?
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'}}]
推荐阅读
- java - 无法从 SQLite 数据库中选择图像(Android)
- php - 调用 createForm 时未找到服务“form.factory”
- postgresql - 从多个临时表插入
- java - JpaRepository 从父级检索子级
- python - Python将列表转换为数据框中的字符串
- xpath - Xpath base64Decode 在 Wso2Esb 4.8.1 中不起作用
- protractor - 量角器无法使用 webdriver-manager 在 Chome 中执行测试用例
- powershell - 尝试使用 New-ScheduledJob 代替 New-ScheduledTask 在 Windows 7 上弹出 PowerShell GUI
- influxdb - InfluxDB:恢复:数据库元数据未更改。数据库可能已经存在
- javascript - 值作为对象传递给主管