Списки. Методы списков.

В Python списки это — упорядоченные изменяемые коллекции объектов произвольных типов (в большинстве языков программирования используется другой термин «массив»). Список представляет собой последовательность элементов, пронумерованных от 0, как символы в строке.

Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой интегрируемый объект (например, строку) встроенной функцией list:

>>> list('список')
['с', 'п', 'и', 'с', 'о', 'к']

Также список можно создать и при помощи литерала:

>>> s = []  # Пустой список
>>> l = ['s', 'p', ['isok'], 2]
>>> s
[]
>>> l
['s', 'p', ['isok'], 2]

Cписок может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего. И еще один способ создать список — это генераторы списков. Генератор списков — способ построить новый список, применяя выражение к каждому элементу последовательности. Генераторы списков очень похожи на цикл for. Например:

>>> c = [c * 3 for c in 'list']
>>> c
['lll', 'iii', 'sss', 'ttt']

Методы списков

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

МетодЧто делает
list.append(x)Добавляет элемент в конец списка
list.extend(L)Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x)Вставляет на i-ый элемент значение x
list.remove(x)Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует
list.pop([i])Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]])Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x)Возвращает количество элементов со значением x
list.sort([key=функция])Сортирует список на основе функции
list.reverse()Разворачивает список
list.copy()Поверхностная копия списка
list.clear()Очищает список


Стек и очереди

Список можно использовать как стек — когда последний добавленный элемент извлекается первым (LIFO, last-in, first-out). Для извлечения элемента с вершины стека есть метод pop():

>>> stack = [1,2,3,4,5]  
>>> stack.append(6)
>>> stack.append(7)
>>> stack.pop()
>>> stack
[1, 2, 3, 4, 5, 6]

Список можно использовать как очередь — элементы извлекаются в том же порядке, в котором они добавлялись (FIFO, first-in, first-out). Для извлечения элемента используется метод pop() с индексом 0:

>>> queue = ['rock','in','roll']  
>>> queue.append('alive')
>>> queue.pop(0)
>>> queue
['in', 'roll', 'alive']

Кортежи (Tuple)

Список так же может быть неизменяемым (immutable), как и строка, в этом случае он называется кортеж (tuple). Кортеж использует меньше памяти, чем список. Кортеж вместо квадратных скобок использует круглые. Кортеж не допускает изменений, в него нельзя добавить новый элемент, хотя он может содержать объекты, которые можно изменить:

>>> t = 1,[2,3]
>>> t
(1, [2, 3])
>>> t[1] = 2
TypeError: 'tuple' object does not support item assignment
>>> t[1].append(4)
>>> t
(1, [2, 3, 4])

Функция tuple() берет в качестве аргумента строку или список и превращает его в кортеж:

>>> tuple('abc')
('a', 'b', 'c')

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *