相关疑难解决方法(0)

展平嵌套的Python词典,压缩键

假设你有一个字典,如:

{'a': 1,
 'c': {'a': 2,
       'b': {'x': 5,
             'y' : 10}},
 'd': [1, 2, 3]}
Run Code Online (Sandbox Code Playgroud)

你会如何将其扁平化为:

{'a': 1,
 'c_a': 2,
 'c_b_x': 5,
 'c_b_y': 10,
 'd': [1, 2, 3]}
Run Code Online (Sandbox Code Playgroud)

python dictionary

147
推荐指数
13
解决办法
10万
查看次数

通过键列表访问嵌套的字典项?

我有一个复杂的字典结构,我想通过一个键列表访问,以解决正确的项目.

dataDict = {
    "a":{
        "r": 1,
        "s": 2,
        "t": 3
        },
    "b":{
        "u": 1,
        "v": {
            "x": 1,
            "y": 2,
            "z": 3
        },
        "w": 3
        }
}    

maplist = ["a", "r"]
Run Code Online (Sandbox Code Playgroud)

要么

maplist = ["b", "v", "y"]
Run Code Online (Sandbox Code Playgroud)

我已经制作了以下代码,但是我确信如果有人有想法,有更好更有效的方法.

# Get a given data from a dictionary with position provided as a list
def getFromDict(dataDict, mapList):    
    for k in mapList: dataDict = dataDict[k]
    return dataDict

# Set a given data in a dictionary with position provided as a list
def …
Run Code Online (Sandbox Code Playgroud)

python dictionary list

128
推荐指数
5
解决办法
10万
查看次数

标签 统计

dictionary ×2

python ×2

list ×1