首页 > 解决方案 > 在特定位置后向字典添加新键 \ 值

问题描述

有一本字典看起来像这样

[
    {
        "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)

标签: pythonjsondictionary

解决方案


更新代码(感谢 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])

推荐阅读