首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python索引冲突

Python索引冲突
EN

Stack Overflow用户
提问于 2016-11-22 08:08:55
回答 1查看 115关注 0票数 3

这是一张公开课程的照片。在这张照片里,s='Arthur's[5:2:-2] == 'ut'。这是合理的,因为[:2]是"Ar“,而[3:]是"hur",但这在现实中是错误的。我输入了s[5:2:-2],输出为"rh“。我也理解它,因为索引5是'r',但是由于:2从‘r’开始,反向5应该从'u‘开始。这真的很让人困惑,这是一门来自顶尖大学的很好的课程。哪里出问题了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-22 08:23:14

看来作者确实犯了错误。通常的建议是将字符串索引看作字母之间的位置,而不是字母本身,因此索引5位于ur之间。但是这种精神帮助只适合于积极的步骤。负的1步比较容易理解:如果您编写s[5:4:-1],您将把字母提取到索引5的右边,即r。类似地,s[1:0:-1]会给您第二个字母:r

这意味着s[5:4:-1]选择s[5],即它与s[5:6:1]的字符串位置相同,而不是s[4:5:1]作为该映像的创建者。换句话说,实际情况是,索引5真正地选择了一个字符,而不是字符间的位置。带负步长的切片从索引5处的字符开始,然后按步骤向后移动。在切片的第二个索引处,切片确实在字符之前停止;假装索引在字符之间是一种很好的直观帮助,但是正如您已经发现的,只有当切片步骤是正的时候才是合适的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40736688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档