python list comprehension multiple for
"""
List comprehension goes through the loops in the order you'd expect. Outer
loops (first loops) are executed first, then inner loops.
"""
numbers = [1, 2, 3, 4, 5]
letters = ['a', 'b', 'c', 'd', 'e']
list_comprehension = [str(number)+letter for number in numbers for letter in letters]
#which is the same as:
typical_for = []
for number in numbers:
for letter in letters:
typical_for.append(str(number)+letter)
assert list_comprehension == typical_for
print(list_comprehension)
# ['1a', '1b', '1c', '1d', '1e',
# '2a', '2b', '2c', '2d', '2e',
# '3a', '3b', '3c', '3d', '3e',
# '4a', '4b', '4c', '4d', '4e',
# '5a', '5b', '5c', '5d', '5e']