Последовательность — контейнер, элементы которого представляют собой некую последовательность.
Последовательности могут быть как изменяемыми, так и неизменяемыми. Размерность и состав созданной однажды неизменяемой последовательности не может меняться, вместо этого обычно создаётся новая последовательность.
Последовательности поддерживают сравнение (обычно производится лексикографически).
Примеры последовательностей в стандартной библиотеке:
Адресация элементовДоступ к значениям последовательностей производится при помощи индексов — целых чисел, означающих позиций элементов.
Нумерация индексов начинается с 0 (нуля).Если по указанному индексу значение отсутствует, возбуждается исключение
IndexError.
my_tuple = (1, 2, 3)
my_tuple[0] # 1
my_tuple[10] # IndexError
Проход по элементамПроход по элементам последовательности производится при помощи
for in:
for item in [1, 2, 3]:
print(item)
Количество элементовКоличество элементов в последовательности можно получить, используя функцию
len().
len([1, 2, 3]) # 3
Слияние (конкатенация)Конкатенация двух последовательностей производится при помощи
+
.
a = [3, 2, 1]
b = [4, 5, 6]
a + b # [3, 2, 1, 4, 5, 6]
ПовторениеПовторение (множение) элементов последовательностей производится при помощи
*
.
a = [1] * 5
a # [1, 1, 1, 1, 1]
b = [1, 2] * 3
b # [1, 2, 1, 2, 1, 2]
Рекомендуемые методы Пользовательским последовательностям по примеру таковых же из стандартной библиотеки рекомендуется реализовать следующие методы.
Базовые | __contains__(), __iter__() |
Для изменяемых последовательностей | append(), count(), extend(), index(), insert(), pop(), remove(), reverse(), sort() |
Для поддержки слияния и повторения | __add__(), __iadd__(), __imul__(), __mul__(), __radd__(), __rmul__() |
На заметку
Для перегрузки математических операций (умножение — повторение, а сложение — конкатенация) следует использовать только указанные методы. Прочие методы для работы с числами реализовываться не должны.
list (список)
|
Список — изменяемая последовательность с упорядоченными элементами. |
range (диапазон)
|
Диапазон — неизменяемая последовательность целых чисел. |
str (строка)
|
Строка — базовый тип представляющий из себя неизменяемую последоват... |
tuple (кортеж)
|
Кортеж — неизменяемая последовательность с упорядоченными элементами. |
xrange
|
Диапазон — неизменяемая последовательность целых чисел. |