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] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
Доступ к последнему элементу списка также можно получить с помощью индекса -1. Например,
list[-1] = 20
Python Нарезка списка
Нарезка списка — это метод разделения подмножества списка, для этого также используются индексы объектов списка. Например, используя тот же пример списка, приведенный выше;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python списки являются эксклюзивными по верхней границе, а это означает, что последний индекс во время среза списка обычно игнорируется. Поэтому
list[2:-1] = [30, 5.3]
, а не [30, 5.3, 20]. То же самое относится и ко всем остальным примерам нарезки списков, приведенным выше.
Обновление списков
Допустим, у вас есть список = [физика, химия, математика], и вы хотите изменить список на [биология, химия, математика], фактически изменив элемент с индексом 0. Это можно легко сделать, присвоив этот индекс новый участник, которого вы хотите.
То есть,
list = [physics, chemistry, mathematics]
list[0] = biology
print(list)
Результат: [биология, химия, математика]
При этом элемент с индексом 0 (физика) заменяется новым значением, которое вы хотите (химия). Это можно сделать для любого члена или подмножества списка, который вы хотите изменить.
Приведу еще один пример; скажем, у вас есть список целых чисел, содержащий числа [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 принимают индекс элемента для удаления в качестве аргумента. Например:
список = [3, 5, 7, 8, 9, 20]
Чтобы удалить 3 (первый элемент) из списка, вы можете использовать:
- список.удалить(3) или
- list.pop[0] или
- список исключений[0]
Чтобы удалить 8, элемент с индексом 3, из списка, вы можете использовать:
- list.remove(8) или
- список.pop[3]
Добавление элементов списка
Для добавления элементов в список используется метод добавления, который добавляет элемент в конец списка.
Например:
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"]
Список встроенных функций (методов)
Ниже приведен список встроенных функций и методов списка с их описаниями:
- Лен (список): это дает длину списка в качестве вывода. Например:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- Макс (список): возвращает элемент в списке с максимальным значением. Например:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- мин(список): возвращает элемент списка с минимальным значением. Например:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- список (кортеж): преобразует объект кортежа в список. Например;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- список.добавление(элемент): добавляет элемент в список. Например;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- list.pop(индекс): удаляет элемент по указанному индексу из списка. Например;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- список.удалить(элемент): удаляет элемент из списка. Например;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- список.обратный(): меняет местами объекты списка. Например;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- список.индекс(элемент): чтобы получить значение индекса элемента в списке. Например;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
- сумма(список): чтобы получить сумму всех значений в списке, если значения представляют собой все числа (целые или десятичные). Например;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Если список содержит какой-либо элемент, не являющийся числом, например строку, метод sum не будет работать. Вы получите сообщение об ошибке: «TypeError: неподдерживаемые типы операндов для +: 'int' и 'str'”
- list.sort(): упорядочивает список целых чисел, чисел с плавающей запятой или строк в порядке возрастания или убывания. Например:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Другой пример:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
Список строк также можно сортировать по алфавиту или по длине строк. Например;
# to sort the list by length of the elements
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']
Мы можем отсортировать один и тот же список в алфавитном порядке, используя 'strings.
Циклическое перебор списков
Перебирать списки можно так же, как и любую другую функцию цикла в Python. Таким образом, метод может быть применен к нескольким элементам списка одновременно. Например:
список = [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]
Чтобы пройти через 3rd (индекс 2) к последнему элементу в списке и добавьте их в новый список с именем new_list:
new_list = []
for elem in list[2:]:
new_list.append(elem)
print(“New List: {}”.format(new_list))
Output:
New List: [30, 40, 50, 60, 70]
Таким образом, к членам списка можно применить любой метод или функцию для выполнения определенной операции. Вы можете либо просмотреть все элементы списка, либо просмотреть подмножество списка, используя срез списка.
Список рекомендаций Python
Понимание списков 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 using for loop:
[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_2))
Output using list comprehension:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
Как видно выше, написание кода с использованием списков намного короче, чем использование традиционных циклов for, а также быстрее. Это всего лишь один пример использования списков вместо циклов for, но его можно воспроизвести и использовать во многих местах, где также можно использовать циклы for. Иногда использование цикла for является лучшим вариантом, особенно если код сложный, но во многих случаях понимание списков сделает ваше кодирование проще и быстрее.
Ниже приведена таблица, содержащая некоторые функции и методы списка, а также их описания.
Встроенные функции
| Функция | ОПИСАНИЕ |
|---|---|
| Круглый() | Округляет число, переданное в качестве аргумента, до указанного количества цифр и возвращает значение с плавающей запятой. |
| Мин() | вернуть минимальный элемент заданного списка |
| Максимум() | вернуть максимальный элемент заданного списка |
| len () | Возвращает длину списка |
| Перечислить() | Эта встроенная функция генерирует как значения, так и индексы элементов в итерации, поэтому нам не нужно считать вручную. |
| Фильтр() | проверяет, является ли каждый элемент списка истинным или нет |
| Лямбда | Выражение, которое может появляться в местах, где определение (для создания функций) не является синтаксическим, внутри литерала списка или аргументов вызова функции. |
| Карта() | возвращает список результатов после применения данной функции к каждому элементу данной итерации |
| Накопить() | применить определенную функцию, переданную в ее аргументе, ко всем элементам списка, возвращает список, содержащий промежуточные результаты |
| Сумма () | Возвращает сумму всех чисел в списке |
| Кмп() | Используется для сравнения двух списков и возвращает 1, если первый список больше второго. |
| Вставить | Вставить элемент в список в определенной позиции |
Список методов
| Функция | ОПИСАНИЕ |
|---|---|
| Добавить () | Добавляет новый элемент в конец списка |
| Ясно() | Удаляет все элементы из списка |
| Копировать () | Возвращает копию исходного списка |
| Продлевать() | Добавить много элементов в конец списка |
| Считать() | Возвращает количество вхождений определенного элемента в список. |
| Показатель() | Возвращает индекс определенного элемента списка |
| Поп () | Удаляет элемент из списка по определенному индексу (удалять по позиции) |
| Удалять() | Удаляет указанный элемент из списка (удалить по значению) |
| Revдругой () | Метод реверса на месте, который меняет порядок элементов списка. |
Резюме
- Список — это именно то, на что он похож: контейнер, содержащий различные Python объекты, которые могут быть целыми числами, словами, значениями и т. д.
- Python Списки могут быть однородными, то есть содержать объекты одного типа; или неоднородными, то есть содержать объекты разных типов.
- Для доступа к значениям в списках можно использовать индекс объектов внутри списков.
- Нарезка списка — это метод разделения подмножества списка, для этого также используются индексы объектов списка.
- Три метода удаления элементов списка: 1) list.remove(), 2) list.pop() и 3) оператор del.
- Метод Append используется для добавления элементов. Это добавит элемент в конец списка.
- Петлевой метод Python Программа может выполняться одновременно с несколькими элементами списка данных.
- Понимание списков Python функции, используемые для создания новых последовательностей (например, списков, словарей и т. д.) с использованием уже созданных последовательностей.
