鱼C论坛

 找回密码
 立即注册
查看: 3071|回复: 5

关于负数索引

[复制链接]
发表于 2015-5-8 00:50:40 | 显示全部楼层 |阅读模式

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

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

x
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> a=[1,2,3]
>>> a[-1:-3]
[]
>>> a[-1]
3
>>> a[-2]
2
>>> a[-3]
1
>>>
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-5-8 12:47:37 | 显示全部楼层
本帖最后由 lightninng 于 2015-5-8 12:48 编辑

楼上正解,我再多嘴几句,
1、切片这个操作是由三个量决定的,起始位置、终止位置、步长,切片操作应该是这样的a[起始位置:终止位置:步长]得到的切片是包含起始位置的元素而不包含终止位置的元素的见下面的第一个切片,具体的请参看甲鱼小哥的视频
2、在楼主的操作中只给出了起始位置-1和终止位置-3而未给出步长,于是使用的是默认的步长1,
3、由于起始位置在终止位置后面,所以得到的是空列表,如楼上所说可以将-1和-3的位置对调,则可得到想要的列表,见下面的切片2
4、还有另一种方法可以得到想要的结果,那就是手动设置步长为-1,见下面的切片3
PS:3和4的例子得到的切片是不同的,楼主可以自行考虑一下是为什么~
  1. >>> a = list(range(10))
  2. >>> a
  3. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  4. >>> a[1:9]  #切片1
  5. [1, 2, 3, 4, 5, 6, 7, 8]
  6. >>> a[-3:-1] #切片2
  7. [7, 8]
  8. >>> a[-1:-3:-1] #切片3
  9. [9, 8]
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
~风介~ + 5 + 5 支持楼主!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-8 00:51:17 | 显示全部楼层
为什么负数索引的[ ]形式用不了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-8 09:07:15 | 显示全部楼层
你如果是要取后面几个元素你可以这样写   a[1:]

a[-1:-3]这种写法没见过个 应该不支持
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-8 09:25:58 | 显示全部楼层
负数索引用不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-8 09:43:50 | 显示全部楼层
从小到大取,从大到小怎么取。
a[-3:-1]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-16 00:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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