Найти - Пользователи
Полная версия: Поменял значения в кортеже , как так ?
Начало » Python для новичков » Поменял значения в кортеже , как так ?
1
sl0w
не могу понять как это вообще возможно - поменять значение в кортеже

a = [[1,2,3,4,5],[1,4,6,8,9],[6,5,3,2,1]]
b = tuple(a)
print (b)
c = a[:]
stroka = -1
stolbets = -1
for i in a: 
    stroka += 1
    for p in i:
        stolbets += 1
        if stolbets == len(a[1]):
            stolbets = 0
        try:
            c[stroka][stolbets]= b[stroka][stolbets+1]+b[stroka][stolbets-1]
        except:
            c[stroka][stolbets]= b[stroka][0]+b[stroka][stolbets-1]
print(c)
#b[1]= 7 
print(b)

sl0w
или так
Firik
Кортеж содержит ссылки на списки и они не меняются. Меняются элементы самого списка.
sl0w
а можно ли заменить все списки b на кортежи, и если можно, то как это сделать ?
Firik
a = [[1,2,3,4,5],[1,4,6,8,9],[6,5,3,2,1]]
b = [tuple(x) for x in a]
print(b)
sl0w
большое спасибо
py.user.next
>>> a = [[1, 2, 3, 4, 5], [1, 4, 6, 8, 9], [6, 5, 3, 2, 1]]
>>> b = tuple(map(tuple, a))
>>> b
((1, 2, 3, 4, 5), (1, 4, 6, 8, 9), (6, 5, 3, 2, 1))
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB