鱼C论坛

 找回密码
 立即注册
查看: 55|回复: 3

[已解决]关于列表切片的困惑

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
列表(I)课后测试题中有如下这道题:
>>> [5, "上", 4, "山", 3, "打", 2, "老", 1, "虎"][-2::-2]

答案是 [1, 2, 3, 4, 5]

我想的答案却是[1],我的逻辑是按照[5, "上", 4, "山", 3, "打", 2, "老", 1, "虎"][-2:]执行的话得到[ 1, "虎"],然后按照反向索引-2取值的话就应该是1了,请大侠指定一下我的逻辑哪里出错了,谢谢!
最佳答案
4 天前
本帖最后由 jackz007 于 2024-11-17 11:46 编辑

     [5, "上", 4, "山", 3, "打", 2, "老", 1, "虎"][-2::-2]
     [-2::-2] 前面的 -2 是指从 -2 开始索引,中间为空代表索引到结束,后面的 -2 是 step,意思是逆向索引(从后往前),每隔 1 个元素提取 1 个元素,这个列表一共有 10 个元素,所以,切片后一共提取到 5 个元素,由于是逆向索引,所以,新列表的元素顺序与原列表相反。
     楼主可以考察一下:
print('i love the world !'[::-1])
     虽然是字符串,但是切片的原理是一样的。      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层
要回答你的问题,我们需要知道完整的题目内容和具体的列表切片操作代码。不妨来复习一下列表切片:

列表切片是通过指定开始索引、结束索引和步长来提取子列表。其基本格式是 `list[start:end:step]`:
- `start` 是切片的起始索引,包含该索引的元素。
- `end` 是结束索引,不包含该索引的元素。
- `step` 是步长,默认为1。

一些关键点:
1. 如果 `step` 为正数,切片从左向右提取;
2. 如果 `step` 为负数,切片从右向左提取;
3. 负索引从列表末尾开始计数,-1 表示最后一个元素。

一旦有更多具体的代码或问题信息,我可以更有针对性地帮助你分析。请提供完整代码或问题描述,以便我能准确解答。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-11-17 11:46 编辑

     [5, "上", 4, "山", 3, "打", 2, "老", 1, "虎"][-2::-2]
     [-2::-2] 前面的 -2 是指从 -2 开始索引,中间为空代表索引到结束,后面的 -2 是 step,意思是逆向索引(从后往前),每隔 1 个元素提取 1 个元素,这个列表一共有 10 个元素,所以,切片后一共提取到 5 个元素,由于是逆向索引,所以,新列表的元素顺序与原列表相反。
     楼主可以考察一下:
print('i love the world !'[::-1])
     虽然是字符串,但是切片的原理是一样的。      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
jackz007 发表于 2024-11-17 10:40
[5, "上", 4, "山", 3, "打", 2, "老", 1, "虎"][-2::-2]
     [-2::-2] 前面的 -2 是指从 -2 开始索 ...

非常感谢,我想明白啦,谢谢哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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