如何在python嵌套dict中替换dict键名

时间:2017-02-09 13:57:48

标签: python dictionary

我正在尝试替换字典中的键名。但我能够为简单的dict而不是复杂/嵌套的dict。

{
"Team": {
    "DataState": "A",
    "GID": "0021500038",
    "TID": "1610612758",
    "PTS": "103",
    "FBPTS": "8",
    "PTSIP": "46",
    "BgLd": "12",
    "TIMREM": "0",
    "TFLS": "7",
    "TeamLine": [{
        "DataState": "A",
        "GID": "0021500038",
        "TID": "1610612758",
        "PER": "1",
        "PTS": "31",
        "FLS": "5"
    }, {
        "DataState": "A",
        "GID": "0021500038",
        "TID": "1610612758",
        "PER": "14",
        "PTS": "0",
        "FLS": "0"
    }]
}}

我想用CODE重复GID。那么我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

快速而肮脏,因为d是你的命令:

import ast
new_d = ast.literal_eval(str(d).replace("'GID':","'CODE':"))
  • 将dict转换为字符串
  • 替换引用值
  • 使用literal_eval
  • 将字符串转换为dict

我承认这不是很学术,但它非常简单,不关心嵌套。

答案 1 :(得分:-1)

nested_thing["Team"]["Teamline"][i]["GID"] = CODE应该是你想要的,其中i = 0表示第一个GID,1表示第二个

(补充说,顶部还有nested_thing["Team"]["GID"]