Convert tuple to list and back Convert tuple to list and back python python

Convert tuple to list and back


Convert tuple to list:

>>> t = ('my', 'name', 'is', 'mr', 'tuple')>>> t('my', 'name', 'is', 'mr', 'tuple')>>> list(t)['my', 'name', 'is', 'mr', 'tuple']

Convert list to tuple:

>>> l = ['my', 'name', 'is', 'mr', 'list']>>> l['my', 'name', 'is', 'mr', 'list']>>> tuple(l)('my', 'name', 'is', 'mr', 'list')


You have a tuple of tuples.
To convert every tuple to a list:

[list(i) for i in level] # list of lists

--- OR ---

map(list, level)

And after you are done editing, just convert them back:

tuple(tuple(i) for i in edited) # tuple of tuples

--- OR --- (Thanks @jamylak)

tuple(itertools.imap(tuple, edited))

You can also use a numpy array:

>>> a = numpy.array(level1)>>> aarray([[1, 1, 1, 1, 1, 1],       [1, 0, 0, 0, 0, 1],       [1, 0, 0, 0, 0, 1],       [1, 0, 0, 0, 0, 1],       [1, 0, 0, 0, 0, 1],       [1, 1, 1, 1, 1, 1]])

For manipulating:

if clicked[0] == 1:    x = (mousey + cameraY) // 60 # For readability    y = (mousex + cameraX) // 60 # For readability    a[x][y] = 1


You can have a list of lists. Convert your tuple of tuples to a list of lists using:

level1 = [list(row) for row in level1]

or

level1 = map(list, level1)

and modify them accordingly.

But a numpy array is cooler.