Самая основная структура данных в Python является последовательностью. Каждому элементу последовательности присваивается номер – его положение или индекс. Первый индекс равен нулю, второй индекс равен единице, и так далее.
Python имеет шесть встроенных типов последовательностей, но наиболее распространенными из них являются списки и кортежи, о которых мы хотели бы вам рассказать в этой статье.
Есть определенные операции, которые вы можете сделать со всеми типами последовательности. Эти операции включают в себя индексацию, нарезка, добавление, умножение, и проверка членства. Кроме того, Python имеет встроенные функции для нахождения длины последовательности и для нахождения ее наибольшего и наименьшего элементов.
Список является наиболее универсальным типом данных, доступных в Python, который может быть записан в виде списка значений, разделенных запятыми (элементов) в квадратные скобки. Важная вещь о списке является то, что элементы списка не обязательно должны быть одного и того же типа.
Создание списка так же просто, как указать различные значения, разделенные запятой в квадратных скобках. Например:
list1 = ['andreyex', 'destroyer', 2016, 2017]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"];
Подобно строковых индексов, индексы списка начинаются с 0, и списки могут быть нарезаны, сцепляться и так далее.
Чтобы получить доступ к значениям в списке, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить значение доступного по этому индексу. Например:
#!/usr/bin/python3 list1 = ['andreyex', 'destroyer', 2016, 2017] list2 = [1, 2, 3, 4, 5, 6, 7 ] print ("list1[0]: ", list1[0]) print ("list2[1:5]: ", list2[1:5])
Когда этот код выполниться, он произведет следующий результат:
list1[0]: andreyex list2[1:5]: [2, 3, 4, 5]
Можно обновить один или несколько элементов списков, давая фрагмент на левой стороне оператора присваивания, и вы можете добавить элементы в список с помощью метода Append (). Например:
#!/usr/bin/python3 list = ['andreyex', 'destroyer', 2016, 2017] print ("Значение по индексу 2 : ", list[2]) list[2] = 2018 print ("Новое значение по индексу 2 : ", list[2])
Когда этот код выполниться, он выдаст следующий результат:
Значение по индексу 2 : 2016 Новое значение по индексу 2 : 2018
Чтобы удалить элемент из списка, вы можете использовать либо заявление del, если вы точно знаете, какой элемент (ы) Вы удаляете. Вы можете использовать метод remove(), если вы не знаете точно, какие элементы надо удалить. Например:
#!/usr/bin/python3 list = ['andreyex', 'destroyer', 2016, 2017] print (list) del list[2] print ("После удаления значения по индексу 2 : ", list)
Когда этот код выполниться, он выдаст следующий результат:
['andreyex', 'destroyer', 2016, 2017] После удаления значения по индексу 2 : ['andreyex', 'destroyer', 2017]
Списки реагируют на операторы + и *, как строки; они означают конкатенацию и повторение, за исключением того, что в результате новый список, а не строки.
На самом деле, списки работают со всеми основными операциями последовательности, которые мы использовали со строками в предыдущем разделе.
Выражение в Python | Результат | Описание |
---|---|---|
len([1, 2, 3]) | 3 | длина |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | конкатенация |
[ ‘Привет!’] * 4 | [ ‘Привет!’, ‘Привет!’, ‘Привет!’, ‘Привет!’] | повторение |
3 in [1, 2, 3] | true | вхождение |
for x in [1,2,3] : print (x,end = ‘ ‘) | 1 2 3 | итерация |
Поскольку списки являются последовательностями, индексирование и нарезка работает точно так же со списками, как они работают для строк.
Если предположить, что следующий вход:
L = ['C++'', 'Java', 'Python']
Выражения в Python | Результаты | Описание |
---|---|---|
L [2] | ‘Python’ | Смещения начинаются с нуля |
[-2] | ‘Java’ | Отрицательный: отсчет с правой стороны |
L [1:] | [ ‘Java’, ‘Python’] | Нарезка выбирает секции |
Python включает в себя следующие функции списка:
S.No. | Описание функции |
---|---|
1 | cmp(list1, list2) – Больше не доступна в Python 3. |
2 | len(list) – Вычисляет общую длину списка. |
3 | max(list) – Возвращает элемент из списка с максимальным значением. |
4 | min(list) – Возвращает элемент из списка с минимальным значением. |
5 | list(seq) – Преобразует кортеж в список. |
Python включает в себя следующие методы списка:
S.No. | Описание методов |
---|---|
1 | list.append(obj) – Добавляет объект obj в список |
2 | list.count(obj) – Возвращает кол-во, сколько раз obj входит в список |
3 | list.extend(seq) – Добавляет содержимое seq в список |
4 | list.index(seq) – Возвращает наименьший индекс в списке, который появляется в obj |
5 | list.insert(index, obj) – Вставки объект obj в список по смещению index |
6 | list.pop(obj = list[-1]) – Удаляет и возвращает последний объект или obj из списка |
7 | list.remove(obj) – Удаляет объект obj из списка |
8 | list.reverse() – Меняет объекты списка на месте |
9 | list.sort([func]) – Сортирует объекты списка, использует сравнение func если дано |