все 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Сообщить о неточности