В этом руководстве вы узнаете, как использовать методы списка 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, вы можете ознакомиться с этим списком учебных ресурсов, удобных для начинающих.