Последовательность (Sequence) — это один из базовых абстрактных типов в Python, который представляет собой упорядоченный набор элементов, доступ к которым осуществляется по индексам. Последовательности поддерживают операции индексирования, срезов (slicing), итерации и проверки на вхождение (membership testing).
for
.# Неизменяемые (immutable) последовательности
text = "Hello" # str (строка)
numbers = (1, 2, 3) # tuple (кортеж)
bytes_data = b'python' # bytes (байтовая строка)
# Изменяемые (mutable) последовательности
dynamic_list = [1, 2, 3] # list (список)
byte_array = bytearray(b'hello') # bytearray (изменяемый массив байт)
from collections import deque, Counter
from array import array
queue = deque([1, 2, 3]) # Двусторонняя очередь
counts = Counter('abracadabra') # Подсчет элементов
int_array = array('i', [1, 2, 3]) # Типизированный массив
seq = [10, 20, 30, 40]
print(seq[0]) # 10 (первый элемент)
print(seq[-1]) # 40 (последний элемент)
seq = [0, 1, 2, 3, 4, 5]
print(seq[1:4]) # [1, 2, 3]
print(seq[::2]) # [0, 2, 4] (каждый второй)
print(seq[::-1]) # [5, 4, 3, 2, 1, 0] (реверс)
words = ['apple', 'banana', 'cherry']
print('banana' in words) # True
print('pear' not in words) # True
a = [1, 2]
b = [3, 4]
print(a + b) # [1, 2, 3, 4] (конкатенация)
print(a * 3) # [1, 2, 1, 2, 1, 2] (повторение)
В модуле collections.abc
определены абстрактные базовые классы для последовательностей:
from collections.abc import Sequence, MutableSequence
# Sequence требует реализацию __getitem__ и __len__
# MutableSequence добавляет __setitem__, __delitem__, append и др.
Протокол последовательности — любой класс становится последовательностью, если реализует:
__len__()
— возвращает длину__getitem__()
— доступ по индексуИтерация — последовательности автоматически поддерживают итерацию через __iter__()
.
Последовательность в Python — это: