首页 » Python » 正文

对于Python中对list进行切片的理解(三)

2015-7-27 ·  5,611 views  ·  0 replies 

在对list进行切片操作时,参数可以使用负数,比如

L = [‘Adam’,’Lisa’,’Bart’,’Paul’] print L[-1] print L[-1:-2] 以上结果输出显示 Paul 和 [],对于print L[-1:-2]容易看成是从倒数第一个元素取到倒数第二个元素,实际上并不是这样,如果填写了负数,则类似于PHP中的字符串切割,从第一个参数起,向其后取值,因此,L[-1:-2]这是不会输出结果的,因为Paul后面并没有可以取的值了,因此这样的写法错误

作业:
利用倒序切片对 1 – 100 的数列取出:
1. 最后10个数;
2. 最后10个5的倍数。

L = range(1,101);
1. 最后10个数,从最后一位开始取,取十个, 因此 print L[-10:] 取-10之后的十个元素, 最后直接取到末尾,省略第二个参数,如果写-1,则为-1之前,-10之后
2. 最后10个5的倍数,可以拿上篇3的倍数为例,5的倍数为L[::5],关键在于最后10个,100是第一个,5X10 = 50,100算一个,因此地50个应该是-46对应的数值,-46对应55,答案:print L[-46::5]

注:切片如果第一个数是正数和负数,取到的值是不一样的,print L[1] 输出结果为
>>> L = [‘Adam’,’Lisa’,’Bart’,’Paul’] >>> print L[1] Lisa
>>> print L[-1] Paul
原因,如果是正数,则为键值相对应的元素,如果是负数,则代表最后第XXX个元素

«上一篇: :下一篇»
  1. 还没有任何评论,你来说两句吧

Leave a reply