Flera loopar i listkomprehension i Python
Att arbeta med komprehension gör det möjligt att skriva flera loopar för att generera en ny lista. Den första angivna loopen kommer att vara den yttre, i den kommer den andra angivna loopen att startas. Det betyder att den andra loopen kommer att vara nästad i den första.
Låt oss skapa en lista med tupler. För
att göra detta skriver vi först två variabler i
och j, inneslutna i runda parenteser,
som betecknar en tupel. Sedan startar vi en loop
med variabeln i, som ska
generera det första talet från tuplen i
intervallet från 1 till 3. Sedan
skriver vi en loop där det andra talet j
genereras från 1 till 2:
lst = [(i, j) for i in range(1, 4) for j in range(1, 3)]
print(lst)
Resultat av kodkörning:
[(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]
Två listor är givna:
lst1 = ['1', '2']
lst2 = ['a', 'b', 'c']
Skapa en ny lista från dem med hjälp av komprehension:
[('1', 'a'), ('1', 'b'), ('1', 'c'), ('2', 'a'), ('2', 'b'), ('2', 'c')]