Список Python: понимание, приложение, сортировка, длина, обратные примеры

Содержание:

Anonim

Что такое список Python?

Список - это именно то, на что он похож: контейнер, содержащий различные объекты Python, которые могут быть целыми числами, словами, значениями и т. Д. Это эквивалент массива в других языках программирования. Он представлен квадратными скобками (и это один из атрибутов, который отличает его от кортежей, разделенных скобками). Он также изменчив, то есть может быть изменен или обновлен; в отличие от кортежей, которые неизменяемы.

В этом руководстве по 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 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20

К последнему члену списка также можно получить доступ, используя индекс -1. Например,

list[-1] = 20

Нарезка списка

Нарезка списка - это метод разделения подмножества списка, и для этого также используются индексы объектов списка. Например, используя тот же пример списка выше;

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] = biologyprint(list)

Продукт: [биология, химия, математика]

Это заменяет элемент с индексом 0 (физика) на новое значение, которое вы хотите (химия). Это можно сделать для любого члена или подмножества списка, которое вы хотите изменить.

Приведу другой пример; скажем, у вас есть список, называемый целыми числами и содержащий числа [2, 5, 9, 20, 27]. Чтобы заменить 5 в этом списке на 10, вы можете сделать это с помощью:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]

Чтобы заменить последний член списка целых чисел, равный 27, на свободное число, например 30,5, вы должны использовать:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]

Удаление элементов списка

Существует 3 метода Python для удаления элементов списка: list.remove (), list.pop () и оператор del. Метод Remove принимает в качестве аргумента конкретный удаляемый элемент, в то время как pop и del принимают индекс удаляемого элемента в качестве аргумента. Например:

list = [3, 5, 7, 8, 9, 20]

Чтобы удалить 3 (1-й элемент) из списка, вы можете использовать:

  • list.remove (3) или
  • list.pop [0] или
  • список дел [0]

Чтобы удалить 8, элемент с индексом 3 из списка, вы можете использовать:

  • list.remove (8) или
  • list.pop [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 (index): удаляет элемент по указанному индексу из списка. Например;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
  • list.remove (element): удаляет элемент из списка. Например;
values = [2, 5, 7, 9]values.remove(2)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

Если список содержит какой-либо элемент, не являющийся числом, например строку, метод суммы не будет работать. Вы получите сообщение об ошибке: « 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 elementsstrings = ['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 + 5print(elem)>>>>15253545556575

Чтобы перебрать первые три элемента списка и удалить их все;

for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]

Чтобы пройти через 3- й (индекс 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, которые используются для создания новых последовательностей (таких как списки, словари и т. Д.) С использованием уже созданных последовательностей. Они помогают сократить количество длинных циклов и упростить чтение и сопровождение кода.

Например; допустим, вы хотите создать список, содержащий квадраты всех чисел от 1 до 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_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 () Возвращает длину списка.
Перечислить () Эта встроенная функция генерирует как значения, так и индексы элементов в итерации, поэтому нам не нужно подсчитывать вручную.
Фильтр() проверяет, является ли каждый элемент списка истинным или нет
Лямбда Выражение, которое может появляться там, где def (для создания функций) не является синтаксическим, внутри литерала списка или аргументов вызова функции
Карта() возвращает список результатов после применения данной функции к каждому элементу данной итерации
Накопить () применить конкретную функцию, переданную в ее аргументе, ко всем элементам списка, возвращает список, содержащий промежуточные результаты
Сумма () Возвращает сумму всех чисел в списке.
Cmp () Используется для сравнения двух списков и возвращает 1, если первый список больше второго.
Вставлять Вставить элемент в список в определенной позиции

Список методов

НАЗНАЧЕНИЕ ОПИСАНИЕ
Добавить () Добавляет новый элемент в конец списка
Прозрачный() Удаляет все элементы из списка
Копировать () Возвращает копию исходного списка
Продлевать() Добавить много пунктов в конец списка
Считать() Возвращает количество вхождений определенного элемента в списке.
Индекс() Возвращает индекс определенного элемента списка
Поп () Удаляет элемент из списка по определенному индексу (удаление по позиции)
Удалять() Удаляет указанный элемент из списка (удаление по значению)
Обеспечить регресс() Метод разворота на месте, который меняет порядок элементов списка на обратный

Резюме

  • Список - это именно то, на что он похож: контейнер, содержащий различные объекты Python, которые могут быть целыми числами, словами, значениями и т. Д.
  • Списки Python могут быть однородными, то есть они могут содержать объекты одного типа; или разнородные, содержащие разные типы объектов.
  • Для доступа к значениям в списках можно использовать индекс объектов внутри списков.
  • Нарезка списка - это метод разделения подмножества списка, и для этого также используются индексы объектов списка.
  • Три метода удаления элементов списка: 1) list.remove (), 2) list.pop () и 3) оператор del.
  • Метод Append используется для добавления элементов. Это добавит элемент в конец списка.
  • Циклический метод программы Python может выполняться одновременно с несколькими элементами списка данных.
  • Компоненты списков - это функции Python, которые используются для создания новых последовательностей (таких как списки, словари и т. Д.) С использованием уже созданных последовательностей.