Списки Python: Примеры Comprehension, Apend, Sort, Length, Reverse

Списки Python: Примеры Comprehension, Apend, Sort, Length, Reverse

От автора: список 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.