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