Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Python-Wörterbücher anhand von Bedingungen mithilfe von Dict Comprehensions filtern?

Wie kann ich Python-Wörterbücher anhand von Bedingungen mithilfe von Dict Comprehensions filtern?

Barbara Streisand
Barbara StreisandOriginal
2024-11-13 02:27:02795Durchsuche

How Can I Filter Python Dictionaries Based on Conditions Using Dict Comprehensions?

Wörterbücher basierend auf Bedingungen mithilfe von Dict Comprehensions filtern

Bei einem Wörterbuch mit Schlüssel-Wert-Paaren ist es üblich, bestimmte Elemente basierend herauszufiltern nach bestimmten Kriterien. Python-Wörterbücher bieten mehrere Methoden zum Filtern, einschließlich der Verwendung von Verständnistechniken.

Dict Comprehension Approach

Eine elegante Lösung zum Filtern eines Wörterbuchs ist das Dict Comprehensions. Mit dieser Syntax können Sie ein neues Wörterbuch erstellen, indem Sie auf jedes Element im ursprünglichen Wörterbuch eine Bedingung anwenden. Das resultierende Wörterbuch enthält nur Schlüssel und Werte, die die angegebenen Kriterien erfüllen.

Zum Beispiel, um ein Wörterbuch (Punkte) zu filtern, das Punktkoordinaten ('x', 'y') enthält, und diejenigen mit Werten kleiner als auszuwählen 5 für „x“ und „y“ können Sie den folgenden Code verwenden:

{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}

In Python-Versionen vor 2.7 können Sie stattdessen iteritems() verwenden items():

{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}

Elementfilterung mit Listenverständnis

Während Diktatverständnisse einen prägnanten Ansatz bieten, können Sie Elemente auch mithilfe von Listenverständnissen filtern. Diese Methode erfordert jedoch zusätzliche Schritte, um das neue Wörterbuch zu erstellen:

points_small = {}
for item in [i for i in points.items() if i[1][0] < 5 and i[1][1] < 5]:
    points_small[item[0]] = item[1]

Dieser Code erstellt zunächst eine Liste von Elementen, die die Bedingung erfüllen, und erstellt dann das neue Wörterbuch (points_small), indem er die Liste durchläuft. Obwohl es nicht so effizient ist wie die Verwendung eines Diktatverständnisses, kann es nützlich sein, wenn eine weitere Bearbeitung der gefilterten Elemente vor dem Erstellen des neuen Wörterbuchs erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Wörterbücher anhand von Bedingungen mithilfe von Dict Comprehensions filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Was ist Clean Code?Nächster Artikel:Was ist Clean Code?