Flere løkker i listekomprehensjon i Python
Arbeid med komprehensjon tillater å skrive flere løkker for generering av en ny liste. Den første angitte løkken vil være den ytre, i den vil den andre skrevne løkken startes. Dette betyr at den andre løkken vil være nestet inn i den første.
La oss danne en liste med tupler. For
å gjøre dette, skriver vi først to variabler i
og j, innelukket i runde parenteser,
som angir en tuple. Deretter starter vi en løkke
med variabelen i, som skal
generere det første tallet i tuplen i
området fra 1 til 3. Deretter
skriver vi en løkke hvor det andre tallet j
genereres fra 1 til 2:
lst = [(i, j) for i in range(1, 4) for j in range(1, 3)]
print(lst)
Resultat av kjøring av koden:
[(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]
Gitt to lister:
lst1 = ['1', '2']
lst2 = ['a', 'b', 'c']
Bruk komprehensjon til å lage en ny liste av dem:
[('1', 'a'), ('1', 'b'), ('1', 'c'), ('2', 'a'), ('2', 'b'), ('2', 'c')]