Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python How to print list to list

I have meet a problem of multiple output.

product_list=['Salted Egg Grade A','Salted Egg Grade B','Salted Egg Grade C']
price_list=['30','27','24']
for x in product_list:
  for y in price_list:
    print(x +": "+ y)

what I expected is

Salted Egg Grade A: 30
Salted Egg Grade B: 27
Salted Egg Grade C: 24

What I am getting is

Salted Egg Grade A: 30
Salted Egg Grade A: 27
Salted Egg Grade A: 24
Salted Egg Grade B: 30
Salted Egg Grade B: 27
Salted Egg Grade B: 24
Salted Egg Grade C: 30
Salted Egg Grade C: 27
Salted Egg Grade C: 24

Is there any solution to solve this?

like image 638
Hon Wi Cong Avatar asked Dec 05 '25 05:12

Hon Wi Cong


2 Answers

You can use zip

product_list=['Salted Egg Grade A','Salted Egg Grade B','Salted Egg Grade C']
price_list=['30','27','24']
for x,y in zip(product_list, price_list):
    print(x + ": " + y)

Output:

Salted Egg Grade A: 30
Salted Egg Grade B: 27
Salted Egg Grade C: 24
like image 69
Brian Destura Avatar answered Dec 07 '25 19:12

Brian Destura


You can also use enumerate() which basically returns the index as well as the element for each iteration. By using these indices you can loop on the other variable.

product_list=['Salted Egg Grade A','Salted Egg Grade B','Salted Egg Grade C']
price_list=['30','27','24']
for index, x in enumerate(product_list):
    print(x +": "+ price_list[index])
like image 37
hafiz031 Avatar answered Dec 07 '25 17:12

hafiz031