Учебники

18) Понимание списка 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

Список нарезки

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

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 принимают индекс удаляемого элемента в качестве аргумента. Например:

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 (список): возвращает элемент в списке с максимальным значением. Например:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • min (список): возвращает элемент в списке с минимальным значением. Например:
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
  • сумма (список): чтобы получить сумму всех значений в списке, если все значения являются числами (целыми или десятичными). Например;
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']

Мы можем отсортировать тот же список в алфавитном порядке, используя ‘строки.

Перебирая списки

Циклические списки могут выполняться точно так же, как любая другая циклическая функция в 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]

Чтобы пройти 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 ** 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, особенно если код сложный, но во многих случаях использование списков сделает ваше кодирование более простым и быстрым.

Ниже приведена таблица, содержащая некоторые функции и методы списка, а также их описания.

Встроенные функции

ФУНКЦИЯ ОПИСАНИЕ
Круглый() Округляет число, переданное в качестве аргумента, до указанного числа цифр и возвращает значение с плавающей запятой
Min () вернуть минимальный элемент данного списка
Максимум() вернуть максимальный элемент данного списка
LEN () Возвращает длину списка
Перечислите () Эта встроенная функция генерирует и значения и индексы элементов в итерируемом, поэтому нам не нужно считать вручную
Фильтр() проверяет, является ли каждый элемент списка истинным или нет
лямбда Выражение, которое может появляться в местах, где def (для создания функций) не является синтаксическим, внутри литерала списка или аргументов вызова функции
Карта() возвращает список результатов после применения данной функции к каждому элементу данной итерируемой
Накапливались () применить определенную функцию, переданную в своем аргументе ко всем элементам списка, возвращает список, содержащий промежуточные результаты
Sum () Возвращает сумму всех чисел в списке
CMP () Это используется для сравнения двух списков и возвращает 1, если первый список больше, чем второй список.
Вставить Вставить элемент в список в определенной позиции

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

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

Резюме

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