Search code examples
pythonfor-looptuples

How to create tuple with a loop in python


I want to create this tuple:

a=(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6),(7,7,7),(8,8,8),(9,9,9)

I tried with this

a=1,1,1
for i in range (2,10):
    a=a,(i,i,i)

However it creates a tuple inside other tuple in each iteration.

Thank you


Solution

  • Use an extra comma in your tuples, and just join:

    a = ((1,1,1),)
    for i in range(2,10):
        a = a + ((i,i,i),)
    

    Edit: Adapting juanpa.arrivillaga's comment, if you want to stick with a loop, this is the right solution:

    a = [(1,1,1)]
    for i in range (2,10):
        a.append((i,i,i))
    a = tuple(a)