Списки python — функции и методы Python list()

3137

Как в python создать список

Списки объявляются в квадратных скобках [ ]

Список в python
Вторая строка этой таблицы списка python — индекс элемента списка.
z = [3, 7, 4, 2]  # Создание списка

В python 3 списки хранят упорядоченный набор элементов, которые могут быть разных типов. В списке, указанном выше элементы имеют один и тот же тип int. Не обязательно все элементы списка должны быть одного типа, как показано выше.

# Создание списка с разными типам данных 
heterogenousElements = [3, True, 'Michael', 2.0] 

Этот список содержит int, bool, string и float.

Доступ к элементам в списка

Каждый элемент списка имеет присвоенный ему индекс. Важно отметить, в python индекс первого элемента в списке — 0

Элементы списка
Элемент с индексом 0 (выделен синим)
z = [3, 7, 4, 2]  # создаем список 
# обращение к первому элементу списка с индексом 0
print(z[0]) 
# элемент с индексом 0

3

Python List также поддерживает отрицательную индексацию. Отрицательная индексация начинается с конца. Иногда её удобнее использовать для получения последнего элемента в списке, потому что не нужно знать длину списка, чтобы получить доступ к последнему элементу.

Отрицательная индексация списка
Элемент с индексом -1 (выделен синим)
# выведите последний элемент списка 
print(z[-1])

2

Вы также можете получить доступ к одному и тому же элементу с использованием положительных индексов (как показано ниже). Альтернативный способ доступа к последнему элементу в списке z

print(z[3])

2

Срезы(slice) списка

Срезы хороши для получения подмножества значений с вашего списка. На примере кода, приведенного ниже, он вернет список с элементами из индекса 0 и не включая индекс 2.

Срезы списка
Первый индекс пишется (до : включительно), а последний (после : ) и не учитывается
# Создайте список
z = [3, 7, 4, 2]
print(z[0:2])  # Вывод элементов с индексом от 0 до 2 (не включая 2)
[3, 7]

Срезы списка 2

# Все, кроме индекса 3
print(z[:3])

[3, 7, 4]

Срезы списка 3Код, указанный ниже возвращает список с элементами начиная с индекса 1 до конца списка

# начиная с индекса 1 до конца списка
print(z[1:])

[7, 4, 2]

Изменение элементов в списке

Изменение списка
Списки в Python изменяемы. Это означает, что после создания списка можно обновить отдельные элементы в списке.

z = [3, 7, 4, 2]  # Создание списка
# Изменяем элемент с индексом 1 на строку 'fish'
z[1] = 'fish'
print(z)

[3, 'fish', 4, 2]

Методы и фукции списков python

У списков Python есть разные методы, которые помогают работать со списками. В этом разделе рассматриваются различные методы списков python.

Метод List Index

Метод index возвращает положение первого индекса, со значением х. В указанном ниже коде, он возвращает назад 0.

# Создайте список
z = [4, 1, 5, 4, 10, 4]
print(z.index(4))

0

Индексы списка
Вы также можете указать, откуда начинаете поиск.

print(z.index(4, 3))

3

list index

Метод List Count

Метод count работает так, как звучит. Он считает количество раз, когда значение появляется в списке.

random_list = [4, 1, 5, 4, 10, 4]
print(random_list.count(4))

3

Метод List Sort

метод sort
Сортировка списка — фактическим кодом будем: z.sort()

Метод sort сортирует и меняет исходный список.

z = [3, 7, 4, 2]
z.sort()
print(z)

[2, 3, 4, 7]
Обратная сортировка списка
Сортировка списка с наибольшего значения к наименьшему

Вышеуказанный код сортирует список чисел от наименьшего к наибольшему. Код, указанный ниже, показывает, как вы можете сортировать список от наибольшего к наименьшему.

# Сортировка и изменение исходного списка от наивысшего к наименьшему
z.sort(reverse = True)
print(z)

[7, 4, 3, 2]

Следует отметить, что вы также можете отсортировать список строк от A до Z и наоборот.

# Сортировка списка строками
names = ['Steve', 'Rachel', 'Michael', 'Adam', 'Jessica', 'Lester']
names.sort()
print(names)

['Adam', 'Jessica', 'Lester', 'Michael', 'Rachel', 'Steve']

Метод List Append

list append
Добавьте значение 3 в конец списка

Метод append добавляет элемент в конец списка. Это происходит на месте.

z = [7, 4, 3, 2]
z.append(3)
print(z)

[7, 4, 3, 2, 3]

Метод List Remove

метод remove
Метод remove удаляет первое вхождение значения в списке.
z = [7, 4, 3, 2, 3]
z.remove(2)
print(z)

[7, 4, 3, 3]

Код удаляет первое вхождение значения 2 из списка z.

Метод List Pop

метод pop
z.pop(1) удаляет значение в индексе 1 и возвращает значение 4

Метод pop удаляет элемент в указанном индексе. Этот метод также вернет элемент, который был удален из списка. В случае, если вы не указали индекс, он по умолчанию удалит элемент по последнему индексу.

z = [7, 4, 3, 3]
print(z.pop(1))
print(z)

4
[7, 3, 3]

Метод List Extend

Метод ExtendМетод extend расширяет список, добавляя элементы. Преимущество над append в том, что вы можете добавлять списки.
Добавление списка [4, 5] в конец списка z.

z = [7, 3, 3]
z.extend([4,5])
print(z)

[7, 3, 3, 4, 5]

То же самое можно было бы сделать, используя +.

print([1,2] + [3,4])

[7, 3, 3, 4, 5]

Метод List Insert

метод insert
Вставляет [1,2] с индексом 4
Метод insert вставляет элемент перед указанным индексом.
z = [7, 3, 3, 4, 5]
z.insert(4, [1, 2])
print(z)

[7, 3, 3, 4, [1, 2], 5]

Простые операции над списками

МетодОписаниее
x in sTrue если элемент x находится в списке s
x not in sTrue если элемент x не находится в списке s
s1 + s2Объединение списков s1 и s2
s * n , n * sКопирует список s n раз
len(s)Длина списка s, т.e. количество элементов в s
min(s)Наименьший элемент списка s
max(s)Наибольший элемент списка s
sum(s)Сумма чисел списка s
for i in list()Перебирает элементы слева направо в цикле for

Примеры использование функций со списками:

>>> list1 = [2, 3, 4, 1, 32]
>>> 2 in list1  # 2 в list1?
True
>>> 33 not in list1  # 33 не в list1?
True
>>> len(list1)  # количество элементов списка
5
>>> max(list1)  # самый большой элемент списка
32
>>> min(list1)  # наименьший элемент списка
1
>>> sum(list1)  # сумма чисел в списке
42
# генератор списков python (list comprehension)
>>> x =  [i for i in range(10)]
>>> print(x)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(list1.reverse()) # разворачивает список
[32, 1, 4, 3, 2]

Операторы + и * для списков

+ объединяет два списка
list1 = [11, 33]
list2 = [1, 9]
list3 = list1 + list2
print(list3)

[11, 33, 1, 9]
* копирует элементы в списке
list4 = [1, 2, 3, 4]
list5 = list4 * 3
print(list5)

[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

Оператор in и not in

Оператор in проверяет находится ли элемент в списке. При успешном результате он возвращает True , в случае неудачи, возвращает False .

list1 = [11, 22, 44, 16, 77, 98]
22 in list1

True

Аналогично not in возвращает противоположный от оператора in результат.

22 not in list1

False

Итерация списка с использованием цикла

Список — последовательность. Ниже способ, которые вы можете использовать для цикла, чтобы перебрать все элементы списка.

list1 = [1,2,3,4,5]
for i in list1:
	print(i, end=" ")

1 2 3 4 5

Как преобразовать список в строку

Вот несколько полезных советов для преобразования списка в строку (или любого другого итерабельного, такого как tuple).
Во-первых, если это список строк, вы можете просто использовать join() следующим образом:

mylist = ['spam', 'ham', 'eggs']
print(', '.join(mylist))

spam, ham, eggs

Используя тот же метод, вы можете также сделать следующее:

print('\n'.join(mylist))

spam
ham
eggs

Однако этот простой метод не работает, если список содержит не строчные объекты, такие как целые числа.
Если вы просто хотите получить строку с разделителями-запятыми, вы можете использовать этот ярлык:

list_of_ints = [80, 443, 8080, 8081]
print(str(list_of_ints).strip('[]'))

80, 443, 8080, 8081

Или же этот, если ваши объекты содержат квадратные скобки:

print(str(list_of_ints)[1:-1])

80, 443, 8080, 8081

В конце концов, вы можете использовать map() чтобы преобразовать каждый элемент в список строки и затем присоединиться к ним:

>>> print(', '.join(map(str, list_of_ints)))
80, 443, 8080, 8081
>>> print('\n'.join(map(str, list_of_ints)))
80
443
8080
8081