Beschneiden eines Wörterbuchs basierend auf einer benutzerdefinierten Bedingung
Bei der Arbeit mit Wörterbüchern ist es oft nützlich, deren Inhalte anhand bestimmter Kriterien zu verfeinern. Angenommen, Sie haben ein Wörterbuch mit Punkten, die als Tupel dargestellt werden, und möchten nur Punkte extrahieren, bei denen sowohl die x- als auch die y-Koordinaten kleiner als 5 sind.
Traditionell besteht ein Ansatz darin, die Wörterbuchelemente mit a zu iterieren Listenverständnis:
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]
Während diese Methode funktionsfähig ist, gibt es eine prägnantere Lösung mit einem Wörterbuch Verständnis:
points_small = {k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
Dieser prägnante Ausdruck generiert ein neues Wörterbuch, in dem Schlüssel und Werte die angegebene Bedingung erfüllen. In ähnlicher Weise kann in Python 2.7 und höher die folgende Syntax verwendet werden:
points_small = {k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
Durch den Einsatz von Wörterbuchverständnissen erhalten Sie eine elegante und effiziente Möglichkeit, Wörterbücher auf der Grundlage willkürlicher Bedingungen zu filtern, was einen optimierteren Ansatz ermöglicht Datenmanipulation.
Das obige ist der detaillierte Inhalt vonWie können Sie ein Wörterbuch basierend auf einer benutzerdefinierten Bedingung effizient bereinigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!