От автора: список Python — это контейнер, содержащий различные объекты, которые могут быть целыми числами, словами, значениями и т. д. Он эквивалентен массиву в других языках программирования. Он представлен квадратными скобками (и это один из атрибутов, которые отличают его от кортежей, которые разделены скобками). Он также может быть изменен или обновлен; в отличие от кортежей, которые являются неизменными.
В этом руководстве мы рассмотрим:
Что такое список Python?
Примеры списков Python
Доступ к значениям в списках
Разделение списков
Обновление списков
Удаление элементов из списка
Добавление элементов в список
Встроенные функции (методы) списков
Перебор списков через цикл
Конструктор списков
Примеры списков Python
Списки Python могут быть однородными, это означает, что они могут содержать объекты одного типа; или разнородными, включать различные типы объектов.
Примеры однородных списков:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Примеры разнородных списков:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
Доступ к значениям в списках
Для доступа к значениям в списках можно использовать индекс объектов внутри списков. Индекс в списках Python относится к положению элемента в упорядоченном списке. Например:
list = [3, 22, 30, 5.3, 20]
Первое значение в списке выше, 3, имеет индекс 0
Второе значение, 22, имеет индекс 1
Третье значение, 30, имеет индекс 2
и так далее. Чтобы получить доступ к каждому из значений из списка, вы должны использовать:
list[0] чтобы получить доступ к 3 list[1] чтобы получить доступ к 22 list[2] чтобы получить доступ к 30 list[3] чтобы получить доступ к 5.3 list[4] чтобы получить доступ к 20
Последний член списка также может быть доступен с помощью индекса -1. Например:
list[-1] = 20
Разделение списка
Разделение списка — это метод разделения списка на подмножества, и для этого также используются индексы объектов списка. Например, используя тот же пример списка выше:
list[:] = [3, 22, 30, 5.3, 20] (все члены списка); list[1:3] = [22, 30] (члены списка от индекса 1 до индекса 3, без члена с индексом 3); list[:4] = [3, 22, 30, 5.3] (члены списка от индекса 0 до индекса 4, без члена с индексом 4) list[2:-1] = [30, 5.3] (члены списка от индекса 2, который является третьим элементом, до последнего элемента 5.3).
Списки Python ограничены по верхним границам, и это означает, что последний индекс во время разделения списка обычно игнорируется. Поэтому список [2: -1] = [30, 5,3], а не [30, 5.3, 20]. То же самое относится ко всем остальным примерам списков, приведенным выше.
Обновление списков
Допустим, у вас есть список [physics, chemistry, mathematics], и вы хотите изменить список на [biology, chemistry, mathematics], эффективно изменив член с индексом 0. Это можно легко сделать, назначив этот индекс для нового члена. То есть:
list = [physics, chemistry, mathematics] list[0] = biology print(list) # Вывод: [biology, chemistry, mathematics]
Это заменяет член с индексом 0 (physics) новым значением (chemistry). Это можно сделать для любого члена или подмножества списка.
Приведем другой пример; допустим, у вас есть список с целыми числами, содержащий числа [2, 5, 9, 20, 27]. Чтобы заменить 5 в этом списке на 10, вы можете сделать это:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Чтобы заменить последний член списка целых чисел, который равен 27, произвольным числом, например 30,5, вы должны использовать:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Удаление элементов списка
Существует три метода Python для удаления элементов списка: list.remove(), list.pop() и оператор del. Метод Remove принимает в качестве аргумента определенный элемент, который будет удален, в то время как pop и del принимают в качестве аргумента индекс удаляемого элемента. Например:
list = [3, 5, 7, 8, 9, 20]
Чтобы удалить 3 (1-й элемент) из списка, вы можете использовать:
list.pop(3) или
list.remove[0] или
список дел[0]
Чтобы удалить из списка элемент 8 с индексом 3, вы можете использовать:
list.pop(8) или
list.remove[3]
Добавление элементов в список
Чтобы добавить элементы в список, используется метод append, который добавляет элемент в конец списка. Например:
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Встроенные функции (методы) списков
Ниже приведен список встроенных функций и методов списка с их описаниями.
len(list): выводит длину списка. Например:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
max(list): возвращает элемент в списке с максимальным значением. Например:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
min(list): возвращает элемент в списке с минимальным значением. Например:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
list(tuple): преобразовывает объект кортежа в список. Например:
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
list.append(element): добавляет элемент в список. Например:
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
list.pop(element): удаляет элемент из списка. Например:
numbers = [2, 5, 7, 9, 15] numbers.pop(7) print(numbers) >>> [2, 5, 9, 15]
list.remove(index): удаляет из списка элемент по указанному индексу. Например:
values = [2, 5, 7, 9] values.remove(0) print(values) >>> [5, 7, 9]
list.reverse(): оборачивает порядок объектов списка. Например:
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
list.index(element): получает значение индекса элемента в списке. Например:
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
sum(list): получает сумму всех значений в списке, если все значения являются числами (целыми или десятичными). Например:
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Если список содержит какой-либо элемент, который не является числом, например строку, метод sum не будет работать. Вы получите сообщение об ошибке: «TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’».
list.sort(): упорядочивает список целых чисел, чисел с плавающей запятой или строк в порядке возрастания или убывания. Например:
values = [2, 10, 7, 14, 50] # Чтобы отсортировать значения в порядке убывания: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
Список строк также можно отсортировать по алфавиту или по длине строк. Например:
# чтобы отсортировать список по длине элементов strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
Мы можем отсортировать тот же список в алфавитном порядке.
Перебор списка
Перебор списка через цикл выполняется точно так же, как любая другая функция цикла в Python. Таким образом, метод может выполняться одновременно для нескольких элементов списка. Например:
list = [10, 20, 30, 40, 50, 60, 70]
Чтобы перебрать все элементы этого списка и, скажем, добавить 10 к каждому элементу:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
Перебор через цикл первых трех элементов списка и удаление их.
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
Чтобы перебрать с третьего (индекс 2) по последний элемент в списке и добавить их в новый список с именем new_list:
new_list = [] for elem in list[2:]: new_list.append(elem) print("New List: {}".format(new_list)) # Вывод: New List: [30, 40, 50, 60, 70]
Таким образом, любой метод или функция могут быть применены к членам списка для выполнения конкретной операции. Вы можете либо перебрать все элементы списка, либо подмножество списка, используя разделение списка.
Конструктор списка
Конструктор списка — это функции Python, которые применяются для создания новых последовательностей (таких как списки, словари и т. д.) с использованием уже созданных последовательностей. Они помогают сократить длительные циклы и облегчают чтение и обслуживание кода.
Например, скажем, вы хотите создать список, который содержит квадраты всех чисел от 1 до 9:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) # List_of_squares с помощью цикла: >>> [1, 4, 9, 16, 25, 36, 49, 64, 81]
Чтобы сделать то же самое с помощью конструктора списка:
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares)) # Вывод с помощью конструктора: >>> [1, 4, 9, 16, 25, 36, 49, 64, 81]
Как видите, написание кода с использованием конструктора намного короче, чем с использованием традиционных циклов for, а также быстрее. Это всего лишь один пример использования конструкторов списков вместо циклов for, но это может быть воспроизведено и использовано во многих местах, где также могут использоваться циклы for. Иногда лучше использовать цикл for, особенно если код сложный, но во многих случаях использование конструкторов позволяет ускорить и упростить кодирование.
Ниже приведена таблица, содержащая некоторые функции и методы списков и их описания.
Встроенные функции
Round() — Округляет число, переданное в качестве аргумента, до указанного количества знаков и возвращает значение с плавающей запятой
Min() — Возвращает минимальный элемент данного списка
Max() — Возвращает максимальный элемент данного списка
len() — Возвращает длину списка
Enumerate() — Эта встроенная функция генерирует и значения и индексы элементов в итерируемом списке
Filter() — Проверяет, является ли каждый элемент списка истинным или нет
Lambda — Выражение, которое может использоваться в местах, где def (для создания функций) не является синтаксическим, внутри литерала списка или аргументов вызова функции
Map() — Возвращает список результатов после применения данной функции к каждому элементу данного итерируемого списка
Accumulate() — Применяет определенную функцию, переданную в аргументе ко всем элементам списка, возвращает список, содержащий промежуточные результаты
Sum() — Возвращает сумму всех чисел в списке
CMP() — Используется для сравнения двух списков и возвращает 1, если первый список больше, чем второй список.
Insert — Вставляет элемент в список в определенной позиции
Список методов
Append() — Добавляет новый элемент в конец списка
Clear() — Удаляет все элементы из списка
Copy() — Возвращает копию оригинального списка
Extend() — Добавляет несколько элементов в конец списка
Count() — Возвращает количество вхождений определенного элемента списка
Index() — Возвращает индекс определенного элемента списка
Pop() — Удаляет элемент из списка по определенному индексу (удалить по позиции)
Remove() — Удаляет указанный элемент из списка (удалить по значению)
Reverse() — Метод, который обращает порядок элементов списка
Заключение
Список — это то, на что похоже, контейнер, содержащий различные объекты Python, которые могут быть целыми числами, словами, значениями и т. д.
Списки Python могут быть однородными, то есть они могут содержать объекты одного типа; или неоднородными, содержащими различные типы объектов.
Для доступа к значениям в списках можно использовать индекс объектов внутри списков.
Разделение списка — это метод разделения списка на подмножества, для этого также используются индексы объектов списка.
Три способа удаления элементов списка: 1) list.remove(), 2) list.pop() и 3) оператор del.
Метод Append используется для добавления элементов. Он добавляет элемент в конец списка.
Метод цикла программы Python может выполняться одновременно для нескольких элементов списка данных.
Конструктор списка — это функции Python, которые применяются для создания новых последовательностей (таких как списки, словари и т. д.) с использованием уже созданных последовательностей.
Источник: https://www.guru99.com
Редакция: Команда webformyself.