Home > Net >  how to store arrays inside tuple in Python?
how to store arrays inside tuple in Python?

Time:11-27

I have a simple question in python. How can I store arrays inside a tuple in Python. For example:

I want the output of my code to be like this:

bnds = ((0, 1), (0, 1), (0, 1), (0, 1))

So I want (0, 1) to be repeated for a specific number of times inside a tuple!

I have tried to use the following code to loop over a tuple:

g = (())
for i in range(4):
    b1 = (0,1) * (i)
    g = (g)   (b1)
print(g)

However, the output is :

(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)

Maybe this is a simple question but I am still beginner in python!

Any help!

CodePudding user response:

you can do this way

>>> result =tuple((0,1) for _ in range(4))
>>> result 
((0, 1), (0, 1), (0, 1), (0, 1))

CodePudding user response:

A possible solution is this one:

g = tuple((0,1) for i in range(4))

CodePudding user response:

You could create a list, fill it up, then convert it to a tuple.

g = []
b1 = (0, 1)

for i in range(4):
    g.append(b1)
g = tuple(g)
print(g)

There are cleaner ways to do it, but I wanted to adapt your code in order to help you understand what is happening. If any other question, please let me know :)

CodePudding user response:

You can't change the items in tuple. Create g as a list then convert it into a tuple.

g = []
for i in range(4):
    b1 = (0,1) * (i)
    g .append(b1)
g = tuple(g)

Using list comprehension makes the code faster :

g = tuple([(0,1)*i for i in range(4)])
  • Related