Meerdere loops in list comprehension in Python
Werken met comprehension maakt het mogelijk meerdere loops voor te schrijven voor het genereren van een nieuwe lijst. De eerste gespecificeerde loop zal de buitenste zijn, waarin de tweede gespecificeerde loop wordt gestart. Dit betekent dat de tweede loop genest zal zijn in de eerste.
Laten we een lijst van tuples vormen. Om
dit te doen, schrijven we eerst twee variabelen i
en j, tussen ronde haakjes,
wat een tuple aangeeft. Vervolgens starten we een loop
met variabele i, die
het eerste getal van de tuple moet genereren in
het bereik van 1 tot 3. Dan
schrijven we een loop waar het tweede getal j
wordt gegenereerd van 1 tot 2:
lst = [(i, j) for i in range(1, 4) for j in range(1, 3)]
print(lst)
Resultaat van de code-uitvoering:
[(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]
Gegeven twee lijsten:
lst1 = ['1', '2']
lst2 = ['a', 'b', 'c']
Maak met behulp van comprehension een nieuwe lijst van hen:
[('1', 'a'), ('1', 'b'), ('1', 'c'), ('2', 'a'), ('2', 'b'), ('2', 'c')]