В этом руководстве вы узнаете, как использовать методы списка Python для добавления, изменения и удаления элементов из списка Python.
Когда вы начинаете программировать на Python, списки — это одна из первых встроенных структур данных, о которых вы узнаете. В течение следующих нескольких минут мы рассмотрим основы списков Python, а затем рассмотрим несколько полезных методов работы со списками, которые можно использовать при работе со списками.
Давай начнем!
Содержание
- 1 Вставить элементы списка с помощью insert()
- 2 Добавить элемент в список с помощью append()
- 3 Добавьте итерации с помощью extend()
- 4 Перевернуть список с помощью reverse()
- 5 Отсортировать список с помощью sort()
- 6 Сделайте неглубокую копию с помощью функции copy()
- 7 Получить количество элементов с помощью count()
- 8 Получить индекс элемента с помощью index()
- 9 Удалить элемент из индекса с помощью pop()
- 10 Удалить элементы с помощью remove()
- 11 Удалить все элементы с помощью clear()
Обзор списка 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, вы можете ознакомиться с этим списком учебных ресурсов, удобных для начинающих.