Ответ
Основной и самый эффективный способ — использовать метод списка .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(). Всё остальное — либо для особых случаев, либо синтаксический сахар.