Python中带负片的字符串切片

2024-05-21 03:14:48 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个变量:

a = "amazingjob"

我想把最后三个字母切成薄片,但我想用负数倒过来,意思是:

a[-1:-4]

我希望结果是job


Tags: 字母job薄片负数amazingjob
2条回答

切片表示法如下:

a[start:stop:step]

这将获取从索引start到(但不包括)索引stop的元素,其增量为step。默认情况下step是1,因此会得到一个空字符串,因为start已经大于stop

我们的第一步是确定索引的顺序:

>>> a[-4:-1]
'gjo'

但这仍然不太正确。对于负索引,最后一个字符位于索引-1,下一个字符位于-2,等等。考虑这一点的最佳方法是获取字符串的最后n个字符,您需要从索引-n开始。那么让我们从-3开始获取最后三个字符:

>>> a[-3:-1]
'jo'

但我们还是错过了最后一个角色。这是因为最后一个索引不包括在切片中。最后一个解决方法是省略最后一个索引:

>>> a[-3:]
'job'

省略最后一个索引会告诉python对字符串进行切片,直到字符串结束

你应该用相反的顺序

a[-4:-1]
# gjo

你应该使用

a[-3:]
# job

如果你想反转字符串

a[-1:-4:-1]
# boj

相关问题 更多 >