sequence[i:j]
sequence
- последовательность. Могут быть list
, str
, tuple
, set
и т. д.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
, то получим пустой срез.Эта операция поддерживаются большинством типов последовательностей, как изменяемых, так и неизменяемых.
Также читайте:
>>> 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]
# []