Методы append и extend — особенности и отличия
Оба метода: append
и extend
используются для расширения списка. Однако, у каждого из этих методов есть свои особенности. Сформулируем основные отличия append и extend, а после — рассмотрим, как работают эти методы на примерах :
Отличие №1:
Аргументом метода append()
может быть любой объект: число, строка, список и т. д. Аргументом метода extend()
может быть только итерируемый объект (например: список, кортеж, строка и т.д)
Отличие №2:
Метод append()
просто добавляет аргумент в конец списка, никак не изменяя его: например, если в качестве аргумента передан кортеж (1, 2), то код lst.append((1, 2))
добавит в список lst один элемент — кортеж (1, 2).
Метод extend()
добавляет в конец списка не сам итератор, переданный в качестве аргумента, а его элементы. Например, если в качестве аргумента передан кортеж (1, 2), то код lst.extend((1, 2))
добавит в список lst два элемента: 1 и 2.
Для того, чтобы лучше понять, как работают методы append и extend, рассмотрим практические примеры:
Примеры работы метода append():
Так как с помощью метода append() в список можно добавлять объекты разных типов, рассмотрим варианты расширения списка lst = [0, 1]
посредством добавления числа, строки, кортежа и списка:
Добавляем в список число:
lst = [0, 1]
lst.append(2)
print(lst)
Вывод на экран:
[0, 1, 2]
Добавляем в список строку:
lst = [0, 1]
lst.append('Вперёд!')
print(lst)
Вывод на экран:
[0, 1, (2, 3)]
Примеры работы метода extend():
Так как аргументом метода extend()
может быть только итерируемый объект, такой как список, кортеж, строка или словарь, рассмотрим 2 примера добавления в исходный список элементов кортежа и строки:
Добавим в список кортеж:
lst = [0, 1]
lst.extend((2, 3))
print(lst)
Результат на экране:
[0, 1, 2, 3]
Добавим в список строку:
lst = [0, 1]
lst.extend('Вперёд!')
print(lst)
Результат на экране:
[0, 1, 'В', 'п', 'е', 'р', 'ё', 'д', '!']
Так как строка — это итерируемый объект, то метод extend() добавляет в исходный список буквы, как элементы строки.
Опираясь на рассмотренные выше примеры, подведем итог: отличия методов append и extend
Метод append()
добавляет аргумент в конец списка. При этом аргумент может быть любым объектом: числом, строкой, списком и т.д. В отличие от append(), аргументом метода extend()
может быть только итерируемый объект (например: список, кортеж, строка и т.д). При этом метод extend() добавляет в исходный список элементы итерируемого объекта.
У нас появился Telegram-канал для изучающих Python! Присоединяйтесь: вместе «питонить» веселее! 😉 Ссылка на канал: «Кодим на Python!»