Есть ли способ подстроить строку в Python, чтобы получить новую строку от третьего символа до конца строки?
Может быть, как
myString[2:end]
?Да, это действительно работает, если вы назначаете, или bind , имя,
end
, в константу singleton,None
:>>> end = None >>> myString = '1234567890' >>> myString[2:end] '34567890'
Нотация фрагмента имеет 3 важных аргумента:
- start
- stop
- step
Их значения по умолчанию, если нет
None
, но мы можем передать их явно:>>> stop = step = None >>> start = 2 >>> myString[start:stop:step] '34567890'
Если оставить вторую часть означает «до конца», если вы оставите первую часть, начнется ли она с start?
Да, например:
>>> start = None >>> stop = 2 >>> myString[start:stop:step] '12'
Обратите внимание, что мы включаем запуск в срез, но мы переходим только к остановке и не включаем.
Когда шаг
None
, по умолчанию срез использует1
для этого шага. Если вы нажмете отрицательное целое число, Python достаточно умен, чтобы перейти от конца к началу.>>> myString[::-1] '0987654321'
Я подробно объясняю нотацию фрагмента в , отвечая на вопрос «Объяснение фрагмента».