Читать книгу Python One-Liners - Christian Mayer - Страница 43
List und d
ОглавлениеDie List Comprehension (Listen-Abstraktion) ist eine beliebte Python-Eigenschaft, mit deren Hilfe Sie schnell Listen erzeugen und modifizieren können. Die einfache Formel lautet [ Ausdruck + Kontext ]:
AusdruckSagt Python, was es mit den einzelnen Elementen in der Liste machen soll.
KontextSagt Python, welche Listenelemente ausgewählt werden sollen. Der Kontext besteht aus einer beliebigen Anzahl von for- und if-Anweisungen.
So ist z. B. in der List-Comprehension-Anweisung [x for x in range(3)] der erste Teil x der (Identitäts--)Ausdruck und der zweite Teil for x in range(3) der Kontext. Die Anweisung erzeugt die Liste [0, 1, 2]. Die Funktion range() liefert einen Bereich aufeinanderfolgender Integer-Werte 0, 1 und 2 zurück – wenn sie wie im Beispiel mit einem Argument verwendet wird. Ein weiteres Codebeispiel für die List Comprehension sieht folgendermaßen aus:
# (name, $-income)
customers = [("John", 240000),
("Alice", 120000),
("Ann", 1100000),
("Zach", 44000)]
# your high-value customers earning >$1M
whales = [x for x,y in customers if y>1000000]
print(whales)
# ['Ann']
Die Set Comprehension funktioniert wie die List Comprehension, erzeugt aber eine Menge statt einer Liste.