[PYTHON] Methode zum Abrufen aller Schlüssel des verschachtelten Diktats

[^ 1]: Dr. shiracamus lehrt uns, wie man in den Kommentaren einfacher schreibt.

Es gibt eine clevere Möglichkeit, in die Kommentare zu schreiben. Bitte beziehen Sie sich darauf.

test= {"w": {"y":{"z":1}},"ww":1, "www":{"yy":1}}

def allkeys(a):
    keys = a.keys()
    values = a.values()
    
    t = []
    for v in values:
        if isinstance(v, dict):
            t.extend(allkeys(v))
                
    result = [i for i in keys]
    result.extend(t)
    return result
    
r = allkeys(test)
print(r)


Ausführungsergebnis


['ww', 'www', 'w', 'yy', 'y', 'z']

https://gist.github.com/lnial/dedf2a98735c2826ca9ef7787bfb18fd


Wenn der übergeordnete Schlüssel zum Schlüsselnamen hinzugefügt wird

test= {"w": {"y":{"z":1}},"ww":1, "www":{"yy":1}}

def parentnema(k, v):
    return k +"."+ v

def allkeys(a):
    keys = a.keys()
    values = a.values()
    
    t = []
    for k in keys:
        v = a.get(k)
        if isinstance(v, dict):
            t.extend(map(lambda z: k + "." + z, allkeys(v)))

    result = [i for i in keys]
    result.extend(t)
    return result
    
r = allkeys(test)
print(r)

Ausführungsergebnis


 ['ww', 'www', 'w', 'www.yy', 'w.y', 'w.y.z']

https://gist.github.com/lnial/cd57861fb00a38537dda8974f96a1e1b

Recommended Posts

Methode zum Abrufen aller Schlüssel des verschachtelten Diktats
Liste der Tastenkombinationen für alle
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
Wie man lange Einschlüsse loswird
Holen Sie sich alle Live-Tweets von professionellen Baseball
4 Möglichkeiten, mit fehlenden Diktatschlüsseln umzugehen
Ich möchte die Daten von League of Legends ③ erhalten
Ich möchte die Daten von League of Legends ② erhalten
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
Ich möchte League of Legends-Daten erhalten ①
Clustering-Methode Clustering
So ermitteln Sie die Anzahl der Stellen in Python
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Skript zum Abrufen des Ablaufdatums des SSL-Zertifikats
[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
[Python] Ich habe versucht, Json von Tintenfischring 2 zu bekommen
schaffen es, schwere Pyls in vim-lsp loszuwerden
Ich habe ein Tool erstellt, um die Antwortlinks von OpenAI Gym auf einmal zu erhalten