Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Python-Wörterbücher anhand von Bedingungen mithilfe von Dict Comprehensions filtern?
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!