Ich werde es wahnsinnig benutzen, also mach dir eine Notiz. Zum Beispiel, wenn Sie eine Folge von n ^ 2 erstellen möchten
python3
>>> l = [i**2 for i in range(6)]
>>> l
[0, 1, 4, 9, 16, 25]
Auf diese Weise gibt f (x) für x in <iterator>]
eine Liste von f (x)
zurück.
Wenn Sie so schreiben, können Sie sich nur auf die Elemente beschränken, die die Bedingungen erfüllen
python3
>>> l = [i**2 for i in range(6) if i%2 == 0] //Ich nur, wenn ich gerade bin**Rückgabe 2
>>> l
[0, 4, 16]
Wenn Sie den Wert abhängig davon ändern möchten, ob die Bedingung erfüllt ist, verwenden Sie if else, damit er so aussieht
python3
>>> l = [i**2 if i%2 == 0 else 'odd' for i in range(6)]
>>> l
[0, 'odd', 4, 'odd', 16, 'odd']
Kann verschachtelt werden
python3
>>> l = [(i, j) for i in range(3) for j in ['a','b','c']]
>>> l
[(0, 'a'),
(0, 'b'),
(0, 'c'),
(1, 'a'),
(1, 'b'),
(1, 'c'),
(2, 'a'),
(2, 'b'),
(2, 'c')]
Recommended Posts