使用strid在python中切片字符串时使用标点符号

2024-10-03 23:22:55 发布

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

对于下面的代码,为什么答案不是“yoif!”带着感叹号?在

>>> s = 'Python is fun!'

>>> s[1:12:3]

>'yoif'

为什么不包括感叹号,因为它也有一个索引号,如下面的代码所示(从上面继续)?在

^{pr2}$

Tags: 答案代码isfun感叹号pr2yoif
3条回答

s = 'Python is fun!'

s[1:12]只返回到'ython is fu'的字符串,因此3的步幅不能达到!

其中as

s[1:14]返回字符串,直到'ython is fun!'。在

s[1:14:3] 

输出:'yoif!'

正如linked在@Chris_Rands对问题的评论中:

^{pr2}$

你的问题本身就提供了答案。您正在从第1个位置切片到第12个位置(这不包括在内)。所以你会得到第11位的元素。在

如果您想得到!,请将值从12更改为14。参见下面的代码。在

s = 'Python is fun!'
print(s[1:14:3])

输出:

^{pr2}$

因为切片就是这样工作的。它将选择索引从1开始到最大12结束的元素。因此,您只看到索引1、4、7和10的元素。13是下一步,但由于它高于12,所以它不会显示出来。在

相关问题 更多 >