Python — обновление кортежей
Кортежи неизменяемы, что означает, что вы не можете изменять, добавлять или удалять элементы после создания кортежа.
Но есть некоторые обходные пути.
Изменить значения кортежа
После создания кортежа вы не можете изменить его значения. Кортежи неизменяемы , или неизменны , как это еще называется.
Но есть обходной путь. Вы можете преобразовать кортеж в список, изменить список и снова преобразовать список в кортеж.
Пример
Преобразуйте кортеж в список, чтобы иметь возможность его изменить:
x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x =
tuple(y)
print(x)
Добавить элементы
Поскольку кортежи неизменяемы, у них нет встроенного
append()
метода, но есть и другие способы добавления элементов в кортеж.
1. Преобразование в список . Как и обходной путь для изменения кортежа, вы можете преобразовать его в список, добавить свои элементы и снова преобразовать его в кортеж.
Пример
Преобразуйте кортеж в список, добавьте «оранжевый» и снова преобразуйте его в кортеж:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple =
tuple(y)
2. Добавить кортеж в кортеж . Вам разрешено добавлять кортежи в кортежи, поэтому, если вы хотите добавить один элемент (или несколько), создайте новый кортеж с элементами и добавьте его в существующий кортеж:
Пример
Создайте новый кортеж со значением «оранжевый» и добавьте этот кортеж:
thistuple = ("apple", "banana", "cherry")
y = ("orange",)
thistuple += y
print(thistuple)
Примечание. При создании кортежа только с одним элементом не забудьте поставить запятую после элемента, иначе он не будет идентифицирован как кортеж.
Удалить элементы
Примечание. Вы не можете удалять элементы в кортеже.
Кортежи неизменяемы , поэтому вы не можете удалять из них элементы, но вы можете использовать тот же обходной путь, который мы использовали для изменения и добавления элементов кортежа:
Пример
Преобразуйте кортеж в список, удалите «яблоко» и снова преобразуйте его в кортеж:
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple =
tuple(y)
Или вы можете полностью удалить кортеж:
Пример
Ключевое del
слово может полностью удалить кортеж:
thistuple = ("apple", "banana", "cherry")
del
thistuple
print(thistuple)
#this will raise an error because the tuple no longer exists