Heim  >  Artikel  >  Backend-Entwicklung  >  Wie filtere ich ein Wörterbuch mithilfe einer Bedingungsfunktion in Python?

Wie filtere ich ein Wörterbuch mithilfe einer Bedingungsfunktion in Python?

Linda Hamilton
Linda HamiltonOriginal
2024-11-11 06:44:02861Durchsuche

How to Filter a Dictionary Using a Condition Function in Python?

Filtern eines Wörterbuchs mithilfe einer Bedingungsfunktion

Python-Wörterbücher, die bei Datenbearbeitungsaufgaben allgegenwärtig sind, bieten eine leistungsstarke Möglichkeit zum Speichern und Abrufen von Informationen auf Schlüsseln. Es kann jedoch vorkommen, dass Sie eine Teilmenge des Wörterbuchinhalts anhand bestimmter Kriterien extrahieren müssen. Sehen wir uns ein Beispiel an, in dem wir ein Wörterbuch filtern möchten, um Punkte auszuwählen, deren x- und y-Koordinaten beide kleiner als 5 sind.

Ursprünglicher Ansatz

Ein möglicher Ansatz beinhaltet die Iteration über die Wörterbuchelemente, überprüft die Koordinaten jedes Punkts und wählt diejenigen aus, die die Bedingung erfüllen. Dieser Ansatz ist zwar unkompliziert, kann aber ausführlich und fehleranfällig sein.

points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)}
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]

Elegante Lösung

Python bietet eine elegantere Lösung mithilfe von Diktatverständnissen. Mithilfe von Diktatverständnissen können Sie ein neues Wörterbuch basierend auf einer angegebenen Bedingung mit der Syntax erstellen: {k: v für k, v in vorhandenem_Dikt, wenn Bedingung}. In unserem Fall können wir diese Syntax verwenden, um das gefilterte Wörterbuch zu erstellen:

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

Python 2-Kompatibilität

In Python 2 wird die Methode iteritems() verwendet anstelle von items(). Der Code für Python 2 wäre:

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

Diese kompakte und ausdrucksstarke Syntax erleichtert die Manipulation von Wörterbüchern und das Extrahieren spezifischer Daten basierend auf Bedingungen. Die Diktatverständnisse von Python bieten ein leistungsstarkes Werkzeug zum effizienten und präzisen Filtern und Transformieren von Wörterbuchinhalten.

Das obige ist der detaillierte Inhalt vonWie filtere ich ein Wörterbuch mithilfe einer Bedingungsfunktion in Python?. 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