簡體   English   中英

字典dicts python

[英]dict of dicts python

我有一個由其他字典組成的python字典,例如(示例):

{2: {4: {5: {6: {7: None}}}, 7: None}, 7: None}

我想提取密鑰,以便最終得到:

[2,4,5,6,7,None]
[2,7,None]
[7,None]

我試圖用遞歸函數解決這個問題,但是沒有運氣...

def f(d):
    paths = []
    try:
        for key in f.keys():
            path.append(f(d[key]))
    pass:
        pass

有辦法做到嗎?

以下似乎可以解決問題:

def f(d):
    paths = []
    for key, value in d.items():
        if value is None:
            paths.append([key, value])
        else:
            internal_lists = f(value)
            for l in internal_lists:
                paths.append([key] + l)
    return paths

1)您的try:循環寫得很爛:語法是

try:
    xxx
except:
    xxx

您期望這里會失敗嗎? 為什么要嘗試?

2)您的循環也不正確:

for key in f.keys():

f是一個函數,它沒有鍵。 d做。

3)處理鍵時,您需要將其保留在輸出中的某個位置,並且暫時不需要

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM