2024-10-03 23:22:55 发布
网友
对于下面的代码,为什么答案不是“yoif!”带着感叹号?在
>>> s = 'Python is fun!' >>> s[1:12:3] >'yoif'
为什么不包括感叹号,因为它也有一个索引号,如下面的代码所示(从上面继续)?在
s = 'Python is fun!'
s[1:12]只返回到'ython is fu'的字符串,因此3的步幅不能达到!
s[1:12]
'ython is fu'
!
其中as
s[1:14]返回字符串,直到'ython is fun!'。在
s[1:14]
'ython is fun!'
s[1:14:3]
输出:'yoif!'
'yoif!'
正如linked在@Chris_Rands对问题的评论中:
你的问题本身就提供了答案。您正在从第1个位置切片到第12个位置(这不包括在内)。所以你会得到第11位的元素。在
如果您想得到!,请将值从12更改为14。参见下面的代码。在
s = 'Python is fun!' print(s[1:14:3])
输出:
因为切片就是这样工作的。它将选择索引从1开始到最大12结束的元素。因此,您只看到索引1、4、7和10的元素。13是下一步,但由于它高于12,所以它不会显示出来。在
s = 'Python is fun!'
s[1:12]
只返回到'ython is fu'
的字符串,因此3的步幅不能达到!
其中as
s[1:14]
返回字符串,直到'ython is fun!'
。在输出:
'yoif!'
正如linked在@Chris_Rands对问题的评论中:
^{pr2}$你的问题本身就提供了答案。您正在从第1个位置切片到第12个位置(这不包括在内)。所以你会得到第11位的元素。在
如果您想得到
!
,请将值从12更改为14。参见下面的代码。在输出:
^{pr2}$因为切片就是这样工作的。它将选择索引从1开始到最大12结束的元素。因此,您只看到索引1、4、7和10的元素。13是下一步,但由于它高于12,所以它不会显示出来。在
相关问题 更多 >
编程相关推荐