sequence[i:j]
sequence
- последовательность. Могут быть list
, str
, tuple
и т. д.i
и j
- целые числаОперация позволяет получить срез/часть последовательности от индекса i
до индекса j
.
Результатом будет срез/часть последовательности sequence
от индекса i
до индекса j
. Операцию еще называют "получить срез последовательности". Дополнительно смотрите встроенную функцию slice()
.
Индексирование последовательностей всегда начинается с 0
.
Если индексы среза i
и j
отрицательны, то индексы будут считаться относительно конца последовательности sequence
. В этом случае положительные индексы такого же среза можно посчитать по формулам len(sequence) - i
и len(sequence) - j
. Обратите внимание, что -0
по-прежнему будет 0
.
Срез последовательности sequence
по индексам от i
до j
определяется как последовательность элементов с индексами в диапазоне i <= k < j
.
i
или j
больше len(sequence)
, то вместо этих значений будет использоваться len(sequence)
. i
опущено или отсутствует, то используется i = 0
. j
опущено или отсутствует, то используется j = len(sequence)
. i >= j
, то получим пустой срез.Эта операция поддерживаются большинством типов последовательностей, как изменяемых, так и неизменяемых.
Примечание: Множества
set
не поддерживает индексирование элементов, т.к. это неупорядоченная коллекция без повторяющихся элементов.
Также читайте:
>>> x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] >>> x[5:] # [5, 6, 7, 8, 9, 10, 11, 12, 13, 14] >>> x[-5:] # [10, 11, 12, 13, 14] >>> x[:10] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> x[:-10] # [0, 1, 2, 3, 4] >>> x[2:10] # [2, 3, 4, 5, 6, 7, 8, 9] >>> x[-10:-2] # [5, 6, 7, 8, 9, 10, 11, 12] # j > длины последовательности >>> x[2:20] # [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] # Если i >= j, то получим пустой срез. >>> x[10:8] # []