Списки Python: массивы, методы и итерация

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

Попробуйте в редакторе

Обзор

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

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

Списки упорядочены и индексированы. Элементы внутри списка сопоставляются с целочисленным индексом, начинающимся с «0». Итак, доступ к первому элементу осуществляется через `my_list[0]`, ко второму через `my_list[1]` и так далее. Python также поддерживает отрицательную индексацию, уникальную мощную функцию, при которой `my_list[-1]` извлекает самый последний элемент, а `my_list[-2]` — предпоследний, минуя необходимость вычисления длины списка вручную.

Списки полностью изменяемы, то есть их можно изменять на месте после создания. Вы можете переназначить определенные элементы по индексу или использовать встроенные методы. Такие методы, как .append(), добавляют элемент в конец, .insert() вставляет элемент по определенному индексу, а .remove() или .pop() удаляют элементы. В списках также есть .sort() для алгоритмической сортировки и .reverse() для переворота последовательности.

Мощная возможность, уникальная для списков Python, — это «нарезка». Срез позволяет вам извлечь подсписок, указав начальный индекс, конечный индекс и размер шага в формате `my_list[start:stop:step]`. Это позволяет разработчикам захватывать фрагменты массивов, копировать массивы или даже переворачивать их в одной строке высокооптимизированного кода на языке C, что делает манипулирование данными чрезвычайно выразительным.

Код и вывод выполнения

Демонстрация инициализации, индексации, модификации и итерации стандартного списка.

fruits = ["apple", "banana", "cherry"]

fruits.append("orange") # Add item
fruits[1] = "mango"     # Change item
fruits.sort()           # Alphabetical sort

print(f"List: {fruits}")
print(f"First fruit: {fruits[0]}")
print(f"Total fruits: {len(fruits)}")
Терминальный выход
List: ['apple', 'cherry', 'mango', 'orange']
First fruit: apple
Total fruits: 4

Пошаговая реализация

  • Хранение упорядоченных коллекций как очереди задач
  • Накопление данных с течением времени
  • Реализация стеков и очередей

Часто задаваемые вопросы

Что такое понимание списка?

Это более короткий синтаксис, если вы хотите создать новый список на основе значений существующего списка. Пример: [x вместо x во фруктах, если «a» в x]

В чем разница между списком и кортежем?

Списки изменяемы (изменяемы), а кортежи неизменяемы (неизменяемы). В кортежах используются круглые скобки ().

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.