Что выведет этот код?


t = (1, 2, 3)
del t[1]

Будет выброшено исключение TypeError: 'tuple' object doesn't support item deletion. Кортежи (tuples) являются неизменяемыми структурами данных в Python, и удаление элементов из них не поддерживается.

При выполнении кода, представленного ниже, возникнет ошибка TypeError.


t = (1, 2, 3)
del t[1]
  

Причина ошибки: Кортежи (tuples) в Python являются неизменяемыми (immutable) типами данных. Это означает, что после создания кортежа его элементы нельзя изменять, добавлять или удалять. Оператор del пытается удалить элемент по индексу, что является операцией изменения существующего кортежа.

Как решить (если требуется изменить кортеж): Если необходимо изменить данные, можно преобразовать кортеж в список, выполнить необходимые изменения, а затем, при необходимости, преобразовать обратно в кортеж. Пример:


t = (1, 2, 3)
list_t = list(t)  # Преобразование в список
del list_t[1]     # Удаление элемента из списка
t = tuple(list_t)  # Преобразование обратно в кортеж
print(t)          # Вывод: (1, 3)
  

В данном примере мы сначала преобразуем кортеж t в список list_t. Затем мы используем del list_t[1] для удаления элемента с индексом 1 из списка. Наконец, мы преобразуем измененный список обратно в кортеж, присваивая результат переменной t.

0