Praktische Techniken und Beispiele
Nachdem Sie nun ein solides Verständnis von Listen von Wörterbüchern (dictionaries) und wie man Werte daraus extrahiert haben, wollen wir einige praktische Techniken und Beispiele untersuchen, um Ihnen zu helfen, diese Konzepte in Ihrer Python-Programmierung anzuwenden.
Sortieren einer Liste von Wörterbüchern
Angenommen, Sie haben eine Liste von Wörterbüchern, die Schülerleistungen darstellen, und Sie möchten die Liste anhand der Noten der Schüler sortieren. Sie können die sorted()
-Funktion verwenden und den Schlüssel angeben, nach dem sortiert werden soll.
students = [
{"name": "John", "grade": 85},
{"name": "Jane", "grade": 92},
{"name": "Bob", "grade": 78},
{"name": "Alice", "grade": 90}
]
sorted_students = sorted(students, key=lambda x: x["grade"], reverse=True)
print(sorted_students)
## Output: [{'name': 'Jane', 'grade': 92},
## {'name': 'Alice', 'grade': 90},
## {'name': 'John', 'grade': 85},
## {'name': 'Bob', 'grade': 78}]
Gruppieren von Daten nach einem Schlüssel
Sie können eine Liste von Wörterbüchern nach einem bestimmten Schlüssel gruppieren und ein Wörterbuch von Listen erstellen, wobei die Schlüssel die eindeutigen Werte des Gruppierungsschlüssels sind und die Werte Listen der entsprechenden Wörterbücher sind.
products = [
{"id": 1, "name": "Product A", "category": "Electronics"},
{"id": 2, "name": "Product B", "category": "Electronics"},
{"id": 3, "name": "Product C", "category": "Furniture"},
{"id": 4, "name": "Product D", "category": "Furniture"}
]
grouped_products = {}
for product in products:
category = product["category"]
if category not in grouped_products:
grouped_products[category] = []
grouped_products[category].append(product)
print(grouped_products)
## Output: {'Electronics': [{'id': 1, 'name': 'Product A', 'category': 'Electronics'},
## {'id': 2, 'name': 'Product B', 'category': 'Electronics'}],
## 'Furniture': [{'id': 3, 'name': 'Product C', 'category': 'Furniture'},
## {'id': 4, 'name': 'Product D', 'category': 'Furniture'}]}
Sie können Listen-Abstraktionen (List Comprehensions) und andere Techniken verwenden, um die in einer Liste von Wörterbüchern gespeicherten Daten zu transformieren. Beispielsweise können Sie eine neue Liste von Wörterbüchern mit nur den gewünschten Schlüsseln erstellen oder abgeleitete Werte berechnen.
transactions = [
{"id": 1, "amount": 100.0, "currency": "USD"},
{"id": 2, "amount": 75.0, "currency": "EUR"},
{"id": 3, "amount": 50.0, "currency": "USD"}
]
## Extract only the id and amount keys
simple_transactions = [{
"id": t["id"],
"amount": t["amount"]
} for t in transactions]
print(simple_transactions)
## Output: [{'id': 1, 'amount': 100.0}, {'id': 2, 'amount': 75.0}, {'id': 3, 'amount': 50.0}]
## Calculate the USD equivalent of each transaction
usd_transactions = [{
"id": t["id"],
"amount_usd": t["amount"] if t["currency"] == "USD" else t["amount"] * 1.1
} for t in transactions]
print(usd_transactions)
## Output: [{'id': 1, 'amount_usd': 100.0}, {'id': 2, 'amount_usd': 82.5}, {'id': 3, 'amount_usd': 50.0}]
Durch die Untersuchung dieser praktischen Techniken und Beispiele können Sie Ihre Fähigkeiten zur Arbeit mit Listen von Wörterbüchern verbessern und sie effektiv in Ihren Python-Projekten anwenden.