Python

Как добавить в список элемент: append, extend и insert в Python

В Python список можно менять после создания: добавлять элементы, удалять, заменять, сортировать и фильтровать. Чтобы добавить один новый элемент в конец списка, чаще всего используют append()

Но рядом есть похожие команды extend() и insert(), поэтому важно понимать, чем они отличаются. append() добавляет один объект, extend() добавляет несколько элементов из другого списка, insert() вставляет элемент в конкретную позицию

Короткий ответ

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

tasks = ["написать код", "проверить"]

tasks.append("сохранить")

print(tasks)

Результат

['написать код', 'проверить', 'сохранить']

Как добавить значение из input

В учебных задачах часто нужно спросить пользователя и добавить введенное значение в список

tasks = []

task = input("Введите задачу: ")

tasks.append(task)

print(tasks)

Если пользователь введет прочитать урок, список станет таким

['прочитать урок']

Здесь input() возвращает строку, и append() добавляет эту строку в список

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

Если нужно добавить сразу несколько элементов из другого списка, используйте extend()

numbers = [1, 2, 3]

numbers.extend([4, 5, 6])

print(numbers)

Результат

[1, 2, 3, 4, 5, 6]

Если вместо extend() использовать append(), список добавится как один вложенный элемент

numbers = [1, 2, 3]

numbers.append([4, 5, 6])

print(numbers)

Результат

[1, 2, 3, [4, 5, 6]]

Иногда это нужно, но чаще новичок получает вложенный список случайно

Как вставить элемент в середину

Чтобы вставить элемент в конкретную позицию, используйте insert(index, value)

names = ["Анна", "Мария"]

names.insert(1, "Динар")

print(names)

Результат

['Анна', 'Динар', 'Мария']

Индекс 1 означает позицию перед вторым элементом. В Python индексы начинаются с нуля

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

Если пользователь вводит число, его нужно преобразовать через int() или float()

numbers = []

text = input("Введите число: ")
number = int(text)

numbers.append(number)

print(numbers)

Если не сделать int(), в списке будет строка "10", а не число 10

Это особенно важно, если потом вы собираетесь считать сумму

numbers = [10, 20]

text = input("Введите число: ")
numbers.append(int(text))

print(sum(numbers))

Как добавить элементы в цикле

Можно несколько раз спрашивать пользователя и складывать значения в список

tasks = []

while True:
    task = input("Введите задачу или stop: ")

    if task == "stop":
        break

    tasks.append(task)

print("Ваши задачи:")

for task in tasks:
    print("-", task)

Такой код уже похож на маленькое консольное приложение: пользователь вводит данные, программа сохраняет их в список и выводит результат

Мини-практика

Создайте пустой список покупок. Спросите у пользователя три товара и добавьте каждый через append(). После этого выведите список покупок построчно

Затем попробуйте добавить сразу список ["чай", "кофе"] через append() и через extend(). Сравните результат, потому что именно здесь чаще всего появляется путаница

Частые ошибки

Ошибка первая: писать items = items.append(value). Метод append() меняет список на месте и возвращает None, поэтому присваивать результат не нужно

Ошибка вторая: использовать append() для добавления нескольких элементов и случайно получать вложенный список

Ошибка третья: забывать преобразовать ввод в число. input() всегда возвращает строку

Ошибка четвертая: путать индекс в insert() с номером элемента в обычной речи. Первый элемент имеет индекс 0

Что почитать дальше по Python

Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x