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.