Как добавить элемент в конец списка в Python?

Ответ

Основной и самый эффективный способ — использовать метод списка .append().

Синтаксис и пример:

my_list = [1, 2, 3]
my_list.append(4)  # Операция in-place (изменяет исходный список)
print(my_list)  # Вывод: [1, 2, 3, 4]

Альтернативные методы (знать для разных случаев):

  • .extend(iterable): Добавляет все элементы из итерируемого объекта (списка, кортежа).
    my_list.extend([5, 6])  # Добавляет 5 и 6
    print(my_list)  # Вывод: [1, 2, 3, 4, 5, 6]
  • Конкатенация (+ или +=): Создает новый список (при +) или изменяет исходный (при +=).
    new_list = my_list + [7]  # Создает новый список
    my_list += [8]           # Изменяет исходный my_list, аналогично extend
Ключевые различия и best practice: Метод Изменяет исходный список? Добавляет Использовать, когда...
.append(x) Да Один элемент x Нужно добавить один объект (даже если это другой список). [1, 2].append([3,4]) даст [1, 2, [3,4]].
.extend(iterable) Да Все элементы итерируемого объекта Нужно добавить несколько элементов из другой коллекции.
list + list2 Нет Все элементы Нужен новый список, а исходные должны остаться неизменными.

Вывод: Для добавления одного элемента всегда используйте .append(). Для добавления нескольких элементов — .extend().

Ответ 18+ 🔞

Давай разберём эту, блядь, элементарщину, про которую все почему-то постоянно пиздят. Как в список что-то запихнуть, ёпта.

Смотри, самый простой и правильный способ — это метод .append(). Он как ленивый грузчик: подошёл, хуяк — один ящик в кузов, и пошёл дальше. Работает на месте, ничего нового не создаёт.

Как это выглядит в коде, сука:

my_list = [1, 2, 3]
my_list.append(4)  # Просто взял и прилепил четвёрку в конец. In-place, блядь!
print(my_list)  # Смотри, что вышло: [1, 2, 3, 4]

Но есть же и другие способы, хитрая жопа!

  • .extend(iterable): Этот уже не ленивый, а с тележкой. Подъехал и вывалил в твой список всё содержимое другой коробки (списка, кортежа).
    my_list.extend([5, 6])  # Высыпал пятёрку и шестёрку
    print(my_list)  # Теперь тут: [1, 2, 3, 4, 5, 6]
  • Конкатенация (+ или +=): А это уже два разных подхода, ёпта. Знак + — это как сделать копию всей мебели в комнате и поставить рядом ещё один стул. Создаётся новый список, старый не трогается. А += — это как тот же extend, просто в другой синтаксической шубе.
    new_list = my_list + [7]  # Создал НОВЫЙ список, старый my_list не тронут!
    my_list += [8]           # А это уже in-place, хуяк и добавил восьмёрку. Полный аналог extend.

Чтобы не пиздеть лишнего, вот тебе шпаргалка, куда и что тыкать:

Метод Меняет исходник? Что добавляет Когда юзать?
.append(x) Да Один элемент x (хоть целый список, но как ОДИН элемент) Всегда, когда нужно прилепить одну хуйню. Даже если это список, он станет вложенным. [1, 2].append([3,4]) -> [1, 2, [3,4]].
.extend(iterable) Да Все элементы из другой коллекции Когда у тебя есть куча элементов и ты хочешь их все впихнуть, а не один мешок с ними.
list + list2 Нет Все элементы, но в новом списке Когда исходные списки трогать нельзя, а нужен новый, объединённый результат.

Итог, блядь: Хочешь добавить один элемент — .append(), и не еби мозг. Хочешь добавить кучу — .extend(). Всё остальное — либо для особых случаев, либо синтаксический сахар.