鱼C论坛

 找回密码
 立即注册
查看: 3767|回复: 9

代码理解

[复制链接]
发表于 2023-5-22 23:42:27 | 显示全部楼层 |阅读模式
1鱼币
如图所示,我理解 [5, "上", 4, "山", 3, "打", 2, "老", 1, "虎"][-2::-2]是这样的:首先定义起始位置和终止位置,也就是-2: ,那么结果是[1,"虎"],最后步长-2应该分为两步理解,显示翻转,结果是[“虎”,1],最后步长2,因为总共只有两个元素,因此选取第一个元素,结果是[“虎”],不知道我这样理解错在哪儿。我看小甲鱼的理解,应该是先理解步长-2,再去理解其他的,切片执行顺序不是start,stop,再到step吗

图片5.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-23 07:47:43 From FishC Mobile | 显示全部楼层
isdkz 发表于 2023-5-22 23:50
你的理解有一点误解。在 Python 中,切片操作的步长(step)是和切片的方向(start到stop)相关联的。如果 ...

结果是[1,2,3,4,5]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-23 07:52:06 From FishC Mobile | 显示全部楼层
ansire 发表于 2023-5-23 07:47
结果是[1,2,3,4,5]

不过我能理解你的意思。我之前有一点误解了,就是[-2:],我理解成:是到最右侧的元素的意思,而实际上代码会先判断步长是正数还是负数,当为负数时,-2后面的冒号表示最开始的位置。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-23 22:01:20 | 显示全部楼层
isdkz 发表于 2023-5-22 23:50
你的理解有一点误解。在 Python 中,切片操作的步长(step)是和切片的方向(start到stop)相关联的。如果 ...

顺序应该是start step stop,亲测
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-23 22:05:03 | 显示全部楼层

以这一题为例,如果是START,STOP,STEP顺序,那么第一步执行结果就只剩下[1,虎]了,最后的-2再去读取,就只能剩下[“虎”]。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-23 22:21:53 | 显示全部楼层
isdkz 发表于 2023-5-23 22:14
这个切片不是分成两步的呀。。。。

计算机的执行顺序,计算机读取完参数后,肯定有个内部执行逻辑,先怎么干、再怎么干,我的测试结果是,先确定START,再根据最后一个参数的正负数确定顺序,再去根据命令抓取里面的值
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-28 05:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表