Existe-t-il un moyen de sous-chaîne d'une chaîne en Python, pour obtenir une nouvelle chaîne du 3ème caractère à la fin de la chaîne?
Peut-être comme myString[2:end]?
Oui, cela fonctionne en fait , si vous attribuez, ou se lier , le nom, endà singleton constante, None:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
La notation de tranche a 3 arguments importants:
Leurs valeurs par défaut lorsqu'elles ne sont pas données sont None- mais nous pouvons les transmettre explicitement:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
Si quitter la deuxième partie signifie «jusqu'à la fin», si vous quittez la première partie, cela commence-t-il depuis le début?
Oui, par exemple:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
Notez que nous incluons start dans la tranche, mais nous n'allons que jusqu'à, et non compris, stop.
Lorsque l'étape est None, par défaut, la tranche utilise 1pour l'étape. Si vous marchez avec un entier négatif, Python est assez intelligent pour aller de la fin au début.
>>> myString[::-1]
'0987654321'
J'explique la notation de tranche en détail dans ma réponse à la question Expliquer la notation de tranche.