I'm looking for solution to my problem. At the moment I have two list of elements:
column_width = ["3", "3", "6", "8", "4", "4", "4", "4"]
fade = ["100", "200", "300"]
What I want to achieve is to create for loop which wil give me following output:
column-3-fade-100
column-3-fade-200
column-6-fade-300
column-8-fade-100
column-4-fade-200
...
Nested for loop doen't work for me:
for i in fade:
for c in column_width_a:
print("column-{0}-fade-{1}".format(c, i))
Is there any other way to generate this output?
Iterate over multiple lists at a time We can iterate over lists simultaneously in ways: zip() : In Python 3, zip returns an iterator. zip() function stops when anyone of the list of all the lists gets exhausted. In simple words, it runs till the smallest of all the lists.
To loop through a set of code a certain number of times, you can use the range() function, which returns a list of numbers starting from 0 to the specified end number.
How do you repeat multiple times in Python? In Python, we utilize the asterisk operator to repeat a string. This operator is indicated by a “*” sign. This operator iterates the string n (number) of times.
This is one approach using itertools.cycle
.
Ex:
from itertools import cycle
column_width = ["3", "3", "6", "8", "4", "4", "4", "4"]
fade = cycle(["100", "200", "300"])
for i in column_width:
print("column-{}-fade-{}".format(i, next(fade)))
Output:
column-3-fade-100
column-3-fade-200
column-6-fade-300
column-8-fade-100
column-4-fade-200
column-4-fade-300
column-4-fade-100
column-4-fade-200
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With