Python Glossary English

все Python 3Строки (str)понятие

Срезы строк

индексы/срезы

Получение подстроки по диапазону индексов. s[a:b] — от a до b (не включая b), s[a:b:c] — с шагом c. s[::-1] — реверс.

Синтаксис

s[a:b]  |  s[a:b:c]  |  s[::-1]

Срез не умеет вылетать за границы: s[10:20] на короткой строке вернёт пустую строку, тогда как s[10] бросит IndexError — этим удобно пользоваться, но так же легко проглядеть опечатку. Каждый срез — новая строка длиной b-a, поэтому резать строку в цикле по кусочку дороже, чем просто идти по ней. При отрицательном шаге границы читаются справа налево: нужно s[5:1:-1], а не s[1:5:-1].

Примеры

s = 'abcdefgh'
print(s[2:5])
# → 'cde'
print(s[:3])
# → 'abc'
print(s[5:])
# → 'fgh'
print(s[::-1])
# → 'hgfedcba'
print(s[::2])
# → 'aceg'
print(s[-3:])
# → 'fgh'
print(s[1:7:2])
# → 'bdf'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности