Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

For loop using more than one list in Python [duplicate]

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?

like image 977
imperato Avatar asked Nov 21 '19 09:11

imperato


People also ask

Can you loop through 2 lists the same time in Python?

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.

How do you repeat a loop 10 times in Python?

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 a loop 3 times in Python?

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.


1 Answers

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
like image 95
Rakesh Avatar answered Oct 12 '22 01:10

Rakesh