Python Tuple: методы изменения значения в кортеже

В Python кортежи неизменяемы, что означает, что их значения не могут быть изменены после того, как они определены. Однако есть несколько обходных путей, которые можно использовать для достижения эффекта изменения значения в кортеже:

  1. Преобразуйте кортеж в список, измените список, а затем преобразуйте его обратно в кортеж:

    my_tuple = (1, 2, 3)
    my_list = list(my_tuple)
    my_list[1] = 5
    my_tuple = tuple(my_list)
  2. Создайте новый кортеж с измененным значением путем разрезания и объединения:

    my_tuple = (1, 2, 3)
    modified_tuple = my_tuple[:1] + (5,) + my_tuple[2:]
  3. Используйте функцию collections.namedtupleиз модуля collections, чтобы создать новый кортеж с измененным значением:

    from collections import namedtuple
    MyTuple = namedtuple('MyTuple', ['val1', 'val2', 'val3'])
    my_tuple = MyTuple(1, 2, 3)
    my_tuple = my_tuple._replace(val2=5)

Помните, что во всех этих методах создается новый кортеж с измененным значением, поскольку кортежи неизменяемы.