Python - Списки

Самая основная структура данных в Python - это sequence. Каждому элементу последовательности присваивается номер - его позиция или индекс. Первый индекс равен нулю, второй индекс равен единице и так далее.

Python имеет шесть встроенных типов последовательностей, но наиболее распространенными из них являются списки и кортежи, которые мы увидим в этом руководстве.

Есть определенные вещи, которые можно делать со всеми типами последовательностей. Эти операции включают индексацию, нарезку, сложение, умножение и проверку членства. Кроме того, в Python есть встроенные функции для определения длины последовательности и поиска ее наибольших и наименьших элементов.

Списки Python

Список - это наиболее универсальный тип данных, доступный в Python, который может быть записан как список значений (элементов), разделенных запятыми, в квадратных скобках. В списке важно то, что элементы в списке не обязательно должны быть одного типа.

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

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]

Как и строковые индексы, индексы списков начинаются с 0, и списки могут быть нарезаны, объединены и так далее.

Доступ к значениям в списках

Чтобы получить доступ к значениям в списках, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить значение, доступное по этому индексу. Например -

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

Когда приведенный выше код выполняется, он дает следующий результат:

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

Обновление списков

Вы можете обновить один или несколько элементов списков, указав срез в левой части оператора присваивания, и вы можете добавлять элементы в список с помощью метода append (). Например -

#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]

Note - метод append () обсуждается в следующем разделе.

Когда приведенный выше код выполняется, он дает следующий результат:

Value available at index 2 :
1997
New value available at index 2 :
2001

Удалить элементы списка

Чтобы удалить элемент списка, вы можете использовать либо оператор del, если вы точно знаете, какой элемент (ы) удаляете, либо метод remove (), если вы не знаете. Например -

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1

Когда приведенный выше код выполняется, он дает следующий результат -

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

Note - метод remove () обсуждается в следующем разделе.

Основные операции со списком

Списки реагируют на операторы + и * так же, как строки; они также означают конкатенацию и повторение, за исключением того, что результатом является новый список, а не строка.

Фактически, списки реагируют на все общие операции с последовательностью, которые мы использовали для строк в предыдущей главе.

Выражение Python Полученные результаты Описание
len ([1, 2, 3]) 3 Длина
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Конкатенация
['Привет!'] * 4 [«Привет!», «Привет!», «Привет!», «Привет!»] Повторение
3 в [1, 2, 3] Правда Членство
для x в [1, 2, 3]: выведите x, 1 2 3 Итерация

Индексирование, нарезка и матрицы

Поскольку списки представляют собой последовательности, индексация и нарезка работают для списков так же, как и для строк.

Предполагая следующий ввод -

L = ['spam', 'Spam', 'SPAM!']

Выражение Python Полученные результаты Описание
L [2] СПАМ! Смещения начинаются с нуля
L [-2] Спам Отрицательный: считайте справа
L [1:] ["Спам", "СПАМ!"] Нарезка извлекает разделы

Встроенные функции и методы списков

Python включает следующие функции списка -

Sr.No. Функция с описанием
1 cmp (список1, список2)

Сравнивает элементы обоих списков.

2 len (список)

Дает общую длину списка.

3 макс (список)

Возвращает элемент из списка с максимальным значением.

4 мин (список)

Возвращает элемент из списка с минимальным значением.

5 список (seq)

Преобразует кортеж в список.

Python включает следующие методы списка

Sr.No. Методы с описанием
1 list.append (объект)

Добавляет объект obj в список

2 list.count (объект)

Возвращает количество раз, когда obj встречается в списке.

3 list.extend (seq)

Добавляет содержимое seq в список

4 list.index (объект)

Возвращает самый низкий индекс в списке, который появляется obj.

5 list.insert (индекс, объект)

Вставляет объект obj в список по индексу смещения

6 list.pop (obj = список [-1])

Удаляет и возвращает последний объект или объект из списка

7 list.remove (объект)

Удаляет объект obj из списка

8 list.reverse ()

Переворачивает объекты списка на место

9 list.sort ([функция])

Сортирует объекты списка, используйте функцию сравнения, если задана