python - 在特定位置后向字典添加新键 \ 值
问题描述
有一本字典看起来像这样
[
{
"Article": 7566746,
"Code": 100,
"Price": "151",
"Teg": "",
"Specifications": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
}
]
在“标签”之后需要添加 2 行。写了一个简短的代码,但是它将值放在列表的末尾,但是在“标签”之后需要它们
我的代码:
with open("_test_result.json", encoding="utf-8") as file:
result_list = json.load(file)
for i in result_list[:2]:
i['filter'] = ''
i['teg2'] = ''
print(i)
解决方案
更新代码(感谢 Kelly Bundy 的两个细致建议):
def insert_in_dictionary(dictionary, index, keys_list, values_list):
items = list(dictionary.items())
items[index:index]=list(zip(keys_list,values_list))
return dict(items)
with open("_test_result.json", encoding="utf-8") as file:
result_list = json.load(file)
for i in range(len(result_list)):
position = 4 # The key 'Teg' is in 4th position
keys_list = ['filter', 'teg2']
values_list = ['', '']
result_list[i] = insert_in_dictionary(result_list[i],position,keys_list,values_list)
print(result_list[i])
推荐阅读
- c - Code:Blocks 上的 xWidgets 调试警报消息,感谢您提供任何帮助
- javascript - 如何设置 Firestore 规则搜索参考
- html - 如何在jsp中激活带有html输入提交的表单?
- node.js - 设置 --max-old-space-size 但 Node 仍然超过限制而不会导致任何错误
- javascript - 尝试从客户端输入动态设置 .find() 参数 - mongodb:Atlas
- java - 如何使用 SpringBoot 下载带有 POP3 的电子邮件附件?
- sql - lag on a lag, PostgreSQL (获取本月前 2 个月的值)
- swiftui - 如何在 SwiftUI 中强制重新创建视图?
- javascript - 我正在使用 Jest 在 React 中运行一些测试。但是当我运行测试时,我收到错误“无法读取未定义的属性'dateTime'
- php - 替换php数组中的异常数字