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

Linda Hamilton
Freigeben: 2024-11-11 06:44:02
Original
860 Leute haben es durchsucht

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]
Nach dem Login kopieren

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}
Nach dem Login kopieren

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}
Nach dem Login kopieren

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!

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