Wie kann man alle Vorkommen eines Schlüssels in verschachtelten Wörterbüchern und Listen effizient extrahieren?

Patricia Arquette
Freigeben: 2024-11-13 01:46:02
Original
830 Leute haben es durchsucht

How to Efficiently Extract All Occurrences of a Key in Nested Dictionaries and Lists?

So finden Sie alle Vorkommen eines Schlüssels in verschachtelten Wörterbüchern und Listen

Das Durchlaufen komplexer Datenstrukturen zum Extrahieren bestimmter Werte kann eine häufige Herausforderung sein im Programmieren. Dieser Artikel befasst sich mit dem Problem, alle Vorkommen eines bestimmten Schlüssels in einer tief verschachtelten Wörterbuch- und Listenstruktur zu finden, und bietet eine detaillierte Lösung und Leistungsanalyse.

Stellen Sie sich ein Beispielwörterbuch vor, das aus verschachtelten Listen und Wörterbüchern besteht, ähnlich wie:

{
    "id": "abcde",
    "key1": "blah",
    "key2": "blah blah",
    "nestedlist": [
        {
            "id": "qwerty",
            "nestednestedlist": [
                {
                    "id": "xyz",
                    "keyA": "blah blah blah"
                },
                {
                    "id": "fghi",
                    "keyZ": "blah blah blah"
                }
            ],
            "anothernestednestedlist": [
                {
                    "id": "asdf",
                    "keyQ": "blah blah"
                },
                {
                    "id": "yuiop",
                    "keyW": "blah"
                }
            ]
        }
    ]
}
Nach dem Login kopieren

Das Ziel besteht darin, alle Werte des „id“-Schlüssels aus dieser Struktur zu extrahieren, was zu einer Liste wie folgt führt:

["abcde", "qwerty", "xyz", "fghi", "asdf", "yuiop"]
Nach dem Login kopieren

Um dies zu erreichen, wurden verschiedene Ansätze vorgeschlagen , einschließlich:

  1. gen_dict_extract: Eine rekursive Funktion, die nach Wörterbüchern, Listen und Zeichenfolgen sucht und den Wert liefert, wenn der Schlüssel übereinstimmt. (Am schnellsten und empfohlen)
  2. find_all_items: Eine ähnliche rekursive Funktion, die speziell für Wörterbücher funktioniert.
  3. findkeys: Eine Funktion, die rekursiv nach Schlüsseln sucht durch Iterieren durch das Wörterbuch.
  4. get_recursively: Eine generische Funktion zum Extrahieren von Werten mithilfe von Rekursion.
  5. find: Eine prägnante rekursive Funktion ähnlich wie get_recursively .
  6. dict_extract: Eine Funktion, die die Struktur mithilfe verschachtelter Schleifen durchläuft und nach Wörterbüchern und Listen sucht.

Leistungsanalyse zeigt, dass der gen_dict_extractFunktion übertrifft die anderen in puncto Geschwindigkeit und gewährleistet gleichzeitig Zuverlässigkeit und Unterstützung für verschiedene Datentypen innerhalb der Struktur.

Das obige ist der detaillierte Inhalt vonWie kann man alle Vorkommen eines Schlüssels in verschachtelten Wörterbüchern und Listen effizient extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage