关于列表切片的困惑
列表(I)课后测试题中有如下这道题:>>> [-2::-2]
答案是
我想的答案却是,我的逻辑是按照[-2:]执行的话得到[ 1, "虎"],然后按照反向索引-2取值的话就应该是1了,请大侠指定一下我的逻辑哪里出错了,谢谢!
要回答你的问题,我们需要知道完整的题目内容和具体的列表切片操作代码。不妨来复习一下列表切片:
列表切片是通过指定开始索引、结束索引和步长来提取子列表。其基本格式是 `list`:
- `start` 是切片的起始索引,包含该索引的元素。
- `end` 是结束索引,不包含该索引的元素。
- `step` 是步长,默认为1。
一些关键点:
1. 如果 `step` 为正数,切片从左向右提取;
2. 如果 `step` 为负数,切片从右向左提取;
3. 负索引从列表末尾开始计数,-1 表示最后一个元素。
一旦有更多具体的代码或问题信息,我可以更有针对性地帮助你分析。请提供完整代码或问题描述,以便我能准确解答。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 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])
虽然是字符串,但是切片的原理是一样的。 jackz007 发表于 2024-11-17 10:40
[-2::-2]
[-2::-2] 前面的 -2 是指从 -2 开始索 ...
非常感谢,我想明白啦,谢谢哈
页:
[1]