11 методов списка Python, которые необходимо знать

В этом руководстве вы узнаете, как использовать методы списка Python для добавления, изменения и удаления элементов из списков Python.

Когда вы начинаете программировать на Python, списки — это одна из первых встроенных структур данных, о которой вы узнаете. В течение следующих нескольких минут мы рассмотрим основы списков Python, а затем рассмотрим несколько полезных методов работы со списками, которые можно использовать при работе со списками.

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

Обзор списков Python

В Python список — это набор элементов одного или разных типов данных. Вы можете пройтись по коллекции, чтобы получить доступ к элементам, используя конструкции цикла, такие как циклы for.

Как и все итерации Python, списки следуют нулевой индексации и поддерживают операцию среза.

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

Далее давайте рассмотрим некоторые полезные методы списка Python.

Встроенные методы списка в Python

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

Мы будем использовать следующий список pgm_langs. Это список строк, содержащих названия популярных языков программирования.

pgm_langs = ['Python','Go','Rust','JavaScript']

Вставить элементы списка с помощью insert()

Вы можете захотеть вставить элемент по определенному индексу. Для этого вы можете использовать метод insert(). Вызов метода list() вставки принимает:

  • Индекс, по которому должен быть вставлен элемент, и
  • Элемент для вставки.

Давайте вставим «Scala» в индекс 1, используя метод index().

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Добавить элемент в список с помощью append()

Иногда вам может понадобиться добавить элемент в конец списка. Для этого вы можете использовать метод append().

Давайте добавим строку «Java» в конец списка, используя метод append().

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Добавить итерируемый объект с помощью extend()

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

Добавим элементы списка more_langs в список pgm_langs с помощью метода extend().

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

Вы можете пройтись по списку элементов и использовать метод append() для добавления одного элемента за раз. Однако это многословно. И вместо этого удобнее использовать метод extend().

for lang in more_langs:
    pgm_langs.append(lang)

Перевернуть список с помощью reverse()

Чтобы изменить порядок элементов в списке, вы можете вызвать метод reverse().

Мы видим, что список pgm_langs поменялся местами.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Сортировка списка с помощью sort()

Вы можете отсортировать список Python на месте, используя метод sort(). Поскольку pgm_langs — это список строк, мы видим, что сортировка происходит в алфавитном порядке.

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

Чтобы отсортировать список в обратном алфавитном порядке, вы можете установить для параметра reverse значение True в вызове метода sort().

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Узнайте больше о сортировке списков Python.

Сделать мелкую копию с помощью функции copy()

Иногда бывает полезно изменить копию исходного списка вместо изменения самого исходного списка. Метод списка copy() возвращает поверхностную копию списка Python.

Давайте создадим неглубокую копию списка pgm_langs и назовем ее pgm_langs_copy. И мы устанавливаем первый элемент в списке как «Haskell» и распечатываем его.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Однако мы видим, что список pgm_langs не изменился. Таким образом, создание поверхностной копии и ее изменение не изменяет исходный список.

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Получить количество предметов с помощью count()

Иногда полезно знать, сколько раз тот или иной элемент встречается в списке. Метод count() возвращает количество раз, когда элемент встречается в списке.

В списке pgm_langs все элементы встречаются ровно один раз. Поэтому, когда мы пытаемся подсчитать количество «Go», мы получаем 1, что правильно.

print(pgm_langs.count('Go'))
# Output: 1

Использование метода count() — один из способов удаления повторяющихся элементов из списков Python.

Получить индекс элемента с помощью index()

Чтобы найти индекс элемента в списке Python, вы можете использовать метод index(). Предположим, мы хотим найти индекс «C#» в списке pgm_langs. Мы можем использовать оператор assert, чтобы убедиться, что элемент с индексом 7 является «C#».

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Удалить элемент в индексе с помощью pop()

Теперь давайте посмотрим на методы списка методов списка для удаления элементов из списков Python. Метод pop() используется для удаления и возврата элемента по определенному индексу. Из предыдущего примера кода мы знаем, что C# — это язык с индексом 7.

Когда мы вызываем метод pop() для списка pgm_langs с индексом 7, мы видим, что он возвращает ‘C#’, элемент с индексом 7, а также удаляет его из списка.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Таким образом, метод pop() удаляет и возвращает элемент по указанному индексу. Однако указывать индекс необязательно. Если вы не укажете индекс, метод pop() удалит и вернет последний элемент в списке Python, как показано ниже:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Удалить элементы с помощью remove()

Иногда вы можете знать, какой элемент удалить, но не его индекс. В этом случае вы можете использовать метод remove(), который принимает элемент для удаления и удаляет его. Давайте удалим «Java» из списка pgm_langs, используя метод remove(), как показано.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Удалить все элементы с помощью clear()

Что делать, если вы хотите удалить все элементы из списка Python? Вы можете просмотреть список и удалить каждый элемент с помощью метода remove(), например:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Но есть ли лучший способ? Да, используя метод clear(). Мы видим, что вызов метода clear для списка pgm_langs удаляет все элементы, и pgm_langs теперь является пустым списком.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Краткое изложение методов списка Python

Давайте быстро суммируем различные методы списка и их синтаксис:

Список МетодСинтаксисОписаниеinsert()list1.insert(index, elt)Вставляет elt по индексу в list1append()list1.append(elt)Добавляет elt в конец list1extend()list1.extend(list2)Добавляет элементы из list2 в конец list1sort ()list1.sort() Сортирует список по месту. list1index()list1.index(elt) Возвращает индекс elt в list1pop() list1.pop(index) Удаляет elt в индексе и возвращает его. remove()list1.remove(elt)Удаляет elt из списка1clear()list1.clear()Удаляет все элементы из списка1

Заключение

Я надеюсь, что это руководство помогло вам понять, как использовать некоторые из наиболее распространенных методов списка в Python. В качестве следующего шага узнайте о кортежах Python и различиях между списками и кортежами в Python.

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