list
Ekkart Kleinod
•
'Martelli Ravenscroft Holden'.split()
scheint völlig normaler Code zu sein
Sortieren
list.sort
sortiert in placesorted(list)
gibt die sortierte Liste zurück- Parameter können angegeben werden
List Slicing
0-basiert, gewöhnungsbedürftig
l = [10, 20, 30, 40, 50, 60] print(l[:2]) print(l[2:]) print(l[:3]) print(l[3:])
[10, 20]
[30, 40, 50, 60]
[10, 20, 30]
[40, 50, 60]
s = 'bicycle' print(s[::3]) print(s[::-1]) print(s[::-2])
bye
elcycib
eccb
List Comprehension
Listen erstellen, die man sonst über die for-Schleife erstellen würde.
symbols = '$¢£¥€¤' codes = [ord(symbol) for symbol in symbols] print(codes)
[36, 162, 163, 165, 8364, 164]
if
ist auch möglich
symbols = '$¢£¥€¤' codes = [ord(symbol) for symbol in symbols if ord(symbol) < 200] print(codes)
[36, 162, 163, 165, 164]
Zuweisung, die die Comprehension übersteht mit Walrus :=
, diese enthält dann den letzten Wert
symbols = '$¢£¥€¤' codes = [last := ord(symbol) for symbol in symbols if ord(symbol) < 200] print(codes) print(last)
[36, 162, 163, 165, 164]
164
Kartesische Produkte
colors = ['black', 'white'] sizes = ['S', 'M', 'L'] tshirts = [(color, size) for color in colors for size in sizes] print(tshirts)
[('black', 'S'),
('black', 'M'),
('black', 'L'),
('white', 'S'),
('white', 'M'),
('white', 'L')]
Addieren und Multiplizieren
l = [1, 2, 3] print(l + l) print(l * 5) print(5 * 'abcd')
[1, 2, 3, 1, 2, 3]
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
abcdabcdabcdabcdabcd