Search code examples
pythonlistloopstuplesnested-loops

Iterating over a list of tuples and inside tuples using a for loop


Just wondering how to iterate over a list of tuples and also iterate through the items inside the tuples at the same time.

# I am able iterate over a list of tuples like this,
fruit_list = [('banana','apple','mango'),('strawberry', 'blueberry','raspberry')]
for fruit_tup in fruit_list:
    print(fruit_tup)

#output:
#('banana', 'apple', 'mango')
#('strawberry', 'blueberry', 'raspberry')

# Iterate through the items inside the tuples as so,
for (item1,item2,item3) in fruit_list:
    print(item1,item2,item3)

#output:
#banana apple mango
#strawberry blueberry raspberry

# This is incorrect but I tried to iterate over the tuples and the items inside the tuples as so
for fruit_tup,(item1,item2,item3) in fruit_list:
    print(fruit_tup,item1,item2,item3)

#required output:
#('banana', 'apple', 'mango') banana apple mango
#('strawberry', 'blueberry', 'raspberry') strawberry blueberry raspberry

Any idea on how to do this?


Solution

  • You need a nested loop:

    fruit_list = [('banana','apple','mango'),('strawberry', 'blueberry','raspberry')]
    for fruit_tup in fruit_list:
        for fruit in fruit_tup:
            print(fruit, end=' ') # no newline but a single space
        print() # now do a newline
    

    Prints:

    banana apple mango
    strawberry blueberry raspberry