[PYTHON] Extrahieren Sie den Wert von dict oder list als Zeichenfolge

Ich wollte manchmal die Werte von dict und list mit durch Punkte getrennten Zeichenfolgen wie "a.b" und "c.d.2.e" abrufen, also habe ich sie geschrieben.

def get_item(src, path):
    now = src
    for i in path.split('.'):
        if type(now) is list:
            now = now[int(i)]
        else:
            now = now[i]
    return now

Jetzt ist eine Variable, um den aktuellen Wert zu setzen. Der Anfangswert ist das Argument dikt oder Liste. Teilen Sie den Pfad durch einen Punkt und drehen Sie ihn für. Tauschen Sie den Wert von jetzt bis zum Ende von für und kehren Sie schließlich zurück.

Ich erwarte übrigens nicht, dass der Schlüsselname einen Punkt hat.

my_dict = {
    'a': {
        'b': 'hello'
    },
    'c': {
         'd':[
             {'e': 3},
             {'e': 4},
             {'e': 5},
             {'e': 6},
         ]
     }
}

print(get_item(my_dict, 'a.b'))
print(get_item(my_dict, 'c.d.3.e'))
print(get_item(my_dict, 'c.d'))
# hello
# 6
# [{'e': 3}, {'e': 4}, {'e': 5}, {'e': 6}]

Recommended Posts

Extrahieren Sie den Wert von dict oder list als Zeichenfolge
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python
Vorsichtsmaßnahmen bei Verwendung einer Liste oder eines Wörterbuchs als Standardargument
String-Konvertierung einer Liste mit Zahlen
Hinweise zum Anpassen der Diktatlistenklasse
Kopieren Sie die Liste in Python
Suchen Sie nach dem Wert der Instanz in der Liste
Geben Sie kein veränderbares Objekt (Listentyp, Wörterbuchtyp usw.) als Anfangswert des Funktionsarguments von Python an.
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
Notieren Sie sich die Liste der grundlegenden Verwendungszwecke von Pandas
#Eine Funktion, die den Zeichencode einer Zeichenfolge zurückgibt
Geben Sie das Ausgabeergebnis von sklearn.metrics.classification_report als CSV-Datei aus
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Extrahieren Sie die Liste der Dienste in Azure
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Suchen Sie den Index des Maximalwerts (Minimalwerts) eines mehrdimensionalen Arrays
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Wenn sich eine Zeichenfolge einer bestimmten Reihe im Schlüssel des Wörterbuchs befindet, wird die Zeichenfolge in den Wert des Wörterbuchs konvertiert.
Suchthinweis: max (max (Liste)) darf nicht verwendet werden, wenn der Wert eines zweidimensionalen Arrays maximiert wird
Extrahieren Sie den Index der ursprünglichen Mengenliste, der der Liste der Teilmengen entspricht.
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 2)
Format, wenn eine lange Zeichenfolge als Python-Argument übergeben wird
Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...
So ermitteln Sie die Speicheradresse des Pandas-Datenrahmenwerts
So extrahieren Sie die gewünschte Zeichenfolge aus einem Befehl in Zeile 4
Versuchen Sie, Elasticsearch als Grundlage für Ihr Frage- und Antwortsystem zu verwenden
Durchsuchen Sie das Verzeichnis und erstellen Sie eine Liste mit Verzeichnispfaden und Dateinamen
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 1)
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Finden Sie die Definition des Wertes von errno
Extrahieren Sie den Maximalwert mit Pandas.
Über den Rückgabewert von pthread_mutex_init ()
Python / Machen Sie ein Diktat aus einer Liste.
Über den Rückgabewert des Histogramms.
Generieren Sie eine Liste aufeinanderfolgender Zeichen
Informationen zur Grundlagenliste der Python-Grundlagen
Die Geschichte des Exportierens eines Programms
Sortieren Sie die Liste, die das Diktat enthält
Python> Extrahieren Sie den Wert von list (entpacken)> Hinzufügen *> Sie haben mir den Unterschied zwischen Python 2 und Python 3 in Bezug auf print (* mylist) / print () beigebracht.
Erweiterung von Python um C oder C ++ (wenn es mehrere Argumente gibt, wenn eine Liste von der Python-Seite übergeben wird)
Die Geschichte, einen Slackbot zu erstellen, der beim Senden des Verarbeitungscodes ein GIF oder PNG ausgibt
Python> Slice> Ein Slice-Offset vor dem Anfang eines Strings wird als 0 und einer nach dem Ende als -1 behandelt
So geben Sie eine Zeichenfolge in Python ein und geben sie unverändert oder in die entgegengesetzte Richtung aus.
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Ich habe 6 Methoden gemessen, um den Index des Maximalwerts (Minimalwerts) der Liste zu erhalten
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Schieben Sie die Hash-Liste in VT und erhalten Sie das Erkennungsergebnis als Liste
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Die eval () -Funktion, die eine Zeichenfolge als Ausdruck in Python berechnet
Ermitteln Sie den Mindestwert der Funktion mithilfe der Partikelgruppenoptimierungsmethode (PSO).
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
<Python> Ein Quiz zum Batch-Konvertieren von Dateinamen, die durch eine bestimmte Zeichenfolge als Teil des Dateinamens getrennt sind