#python
#python
Вопрос:
У меня есть список:
a = [
((5,7),15,(5,3)),
((2,1),8,(4,3)),
((4,7),9,(4,2))
]
и кортеж:
b = ((5,7),9,(4,2))
и я хочу завершить действие в кавычках:
for i in range(len(a)):
if a[i][0] == b[0]:
if a[i][1] > b[1]:
"replace a[i][1] with b[1]"
но это назначение не поддерживается
Комментарии:
1.
tuple
s являются неизменяемыми, вы не можете их изменять.2. Кортежи в python неизменяемы, это означает, что вы не можете изменить их значение после определения, если вам нужен изменяемый кортеж, используйте список.
3. Хорошо, спасибо, я понял это.
Ответ №1:
a[i][1]
и b[1]
есть Tuples
. учтите, что вы не можете делать такие вещи с элементами кортежа. потому что элемент кортежа не может быть изменен. вы можете изменить все свои коллекции на список и запустить свой код:
a = [[[5, 7],15,[5, 3]], [[2, 1], 8, [4, 3]], [[4, 7], 9, [4, 2]]]
b = [[5,7],9,[4,2]]
for i in range(len(a)):
if a[i][0] == b[0]:
if a[i][1] > b[1]:
a[i][1] = b[1]
print(a)