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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Давайте вставим «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 все элементы появляются ровно один раз. Таким образом, когда мы пытаемся получить число «Давай», мы получаем 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 в конец list1ektend()list1.ektend(list2)Добавляет элементы из list2 в конец list1sort() list1.sort() Сортирует список в placereverse() list1.reverse() Превращает list1 в placecopi() list1.copi() Возвращает поверхностную копию list1count() list1.count(elt) Возвращает число elt в list1index() list1.index(elt) Возвращает индекс elt в list1pop() list1.pop(index) Удаляет elt в индексе и возвращает его. remove()list1.remove(elt)Удаляет elt из списка1clear()list1.clear()Удаляет все элементы из списка1

Заключение

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

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

Поделиться в соцсетях