DevGang
Авторизоваться

Добавление списка Python – как добавить элемент в массив, объясненный примерами 

Привет! Если вы хотите узнать, как использовать метод append(), то эта статья для вас. Это мощный метод списка, который вы обязательно будете использовать в своих проектах Python.  

В этой статье вы узнаете:

  • Почему и когда вы должны использовать append().
  • Как это назвать.
  • Его эффект и возвращаемое значение.
  • Как это может быть эквивалентно insert() и нарезкой строк с соответствующими аргументами.

Вы найдете примеры использования функции append(), которые применяются для строк, целых чисел, Float, логических значений, списков, записей и словарей.

Давайте начнем! 🔅

Цель

С помощью этого метода вы можете добавить один элемент в конец списка.

Здесь вы можете увидеть эффект append() графически:

💡 Совет: чтобы добавить последовательность отдельных элементов, вам необходимо использовать метод extend().  

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

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

Совет: точка очень важна, так как append () - это метод. Когда мы вызываем метод, мы используем точку после списка, чтобы указать что мы хотим "изменить" или "повлиять" на этот конкретный список.

Как видите метод append() принимает только один аргумент - это элемент, который вы хотите добавить. Этот элемент может быть любого типа данных:  

  • Целое число
  • Строка
  • Float
  • Логический
  • Другой список
  • Запись
  • Толковый словарь
  • Экземпляр пользовательского класса

По сути, любое значение, которое вы можете создать в Python, может быть добавлено в список.

💡 Совет: Первый элемент синтаксиса (список) обычно является переменной, которая ссылается на список.

Пример

  Это пример вызова append():  

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes.append("B")
  1. Сначала список определяется и присваивается переменной.
  2. Затем, используя эту переменную, мы вызываем метод append(), передавая элемент который мы хотим добавить (строку "B"), в качестве аргумента.

Эффект и возвращаемое значение

Этот метод мутирует (изменяет) исходный список в памяти. Он не возвращает новую копию списка, как мы можем интуитивно подумать, он возвращает None. Поэтому, просто вызывая этот метод вы изменяете исходный список.   

В нашем предыдущем примере:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes.append("B")

Вы можете видеть (ниже), что исходный список был изменен после добавления элемента. Последний элемент теперь "B" и оригинальный список теперь является измененной версией.

>>> musical_notes
['C', 'D', 'E', 'F', 'G', 'A', 'B']

Вы можете подтвердить, что возвращаемое значение функции append() равно None, присвоив это значение переменной и распечатав его:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> a = musical_notes.append("B")
>>> print(a)
None

Примеры

Теперь, когда вы знаете назначение, синтаксис и эффект метода append(), давайте рассмотрим несколько примеров его использования с различными типами данных.

Добавить строку

>>> top_players = ["gino234", "nor233", "lal453"]
>>> top_players.append("auop342")

# The string was appended
>>> top_players
['gino234', 'nor233', 'lal453', 'auop342']

Добавить целое число

>>> data = [435, 324, 275, 567, 123]
>>> data.append(456)

>>> data
[435, 324, 275, 567, 123, 456]

Добавить запись

>>> data = [435.34, 324.35, 275.45, 567.34, 123.23]
>>> data.append(456.23)

>>> data
[435.34, 324.35, 275.45, 567.34, 123.23, 456.23]

Добавить логическое значение

>>> values = [True, True, False, True]
>>> values.append(False)

>>> values
[True, True, False, True, False]

Добавить список

Этот метод добавляет один элемент в конец списка, поэтому, если вы передадите список в качестве аргумента, весь список будет добавлен как один элемент (это будет вложенный список в исходном списке).

>>> data = [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7]]
>>> data.append([6.7, 2.3])

>>> data
[[4.5, 4.8, 5.7], [2.5, 2.6, 2.7], [6.7, 2.3]]

Добавить запись

Это работает точно так же для записей, все они добавляются как один элемент.

>>> data = [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7]]
>>> data.append((6.7, 2.3))

>>> data
[[4.5, 4.8, 5.7], [2.5, 2.6, 2.7], (6.7, 2.3)] 

💡 Совет: если вам нужно добавить элементы списка или записи как отдельные элементы исходного списка, вам нужно использовать метод extend() вместо append()

Добавить словарь

Точно так же, если вы попытаетесь добавить словарь, то он будет добавлен как один элемент списка.

>>> data = [{"a": 1, "b": 2}]
>>> data.append({"c": 3, "d": 4})
>>> data
[{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]

Эквивалентность добавления и вставки

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

Это синтаксис, используемый для вызова метода insert()

Чтобы сделать его эквивалентным append():  

Значение индекса должно быть длиной списка (len(<list>)), потому что мы хотим чтобы элемент был в нем последним. 

Вот пример, который показывает, что результат использования вставки с этими аргументами эквивалентен append()

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes.insert(len(musical_notes), "B")
>>> musical_notes
['C', 'D', 'E', 'F', 'G', 'A', 'B']

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

Эквивалентность добавления и нарезки списка

Существует также интересная эквивалентность между методом append() и нарезкой списка  

Этот синтаксис по существу назначает список, который содержит элемент [<elem>] в качестве последней части списка. Здесь вы можете увидеть, что результат эквивалентен append():  

>>> musical_notes = ["C", "D", "E", "F", "G", "A"]
>>> musical_notes[len(musical_notes):] = ["B"]
>>> musical_notes
['C', 'D', 'E', 'F', 'G', 'A', 'B']

Это интересные альтернативы, но для практических целей мы обычно используем append(), потому что это бесценный инструмент, который предлагает Python. Он точный, краткий и простой в использовании.  

Источник:

#Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Напиши статью и выиграй годовую подписку на Яндекс плюс или лицензию от Jet Brains

Участвовать