Python超级简洁的高深语法之五:列表索引/切片

Python超级简洁的高深语法之五:列表索引/切片

coder是很“懒”的人,说成懒,不如称为“智者”,能用一行搞定的,绝对不废话连篇,又有哪家公司按照代码的行数来绩效考核的呢?我想是没有的,如果说有,为了自己的前途,赶紧换家公司,特别是算法工程师,你懂的。
很多人爱上python,也许是通过简单的数组使用开始的,list[-1],取最后一个元素,想想其他语言咋写的,心里就有数了。

1.正向索引

>>> list = [0,1,2,3,4,5,6,7,8,9]
>>> print(list[0])
0
>>> print(list[3])
3
>>>

正向索引不多说,和其他语言一样。
2.反向索引

>>> list = [0,1,2,3,4,5,6,7,8,9]
>>> print(list[-1])
9
>>> print(list[-4])
6
>>>

反向索引,就有意思了,通过倒排来取元素是不是很牛X,当然除了数组,元组也同样可以这样使用。
3.切片索引

>>> list = [0,1,2,3,4,5,6,7,8,9]
>>> print(list[2:6])
[2, 3, 4, 5]
>>> print(list[1:6:2])
[1, 3, 5]
>>> print(list[-3:-1])
[7, 8]

切片索引,中括号中都是以元素的位置来开始和结束的,但不包括最后一个元素的值。
list[2:6],从元素标记号2开始,取到第6个元素,但不包含最后的第6个元素。
其他的同等的道理。
list[1:6:2]最后的2,代表步长,从第一个元素开始,每2步取数,可以这么理解,元素3和元素1步长为2,取数;同理元素5和元素3步长2,取数。
记住步长是俩个元素之间得距离
list[-3:-1]同样是不包含最后一个元素。

4.无线索引

>>> list = [0,1,2,3,4,5,6,7,8,9]
>>> print(list[:3])
[0, 1, 2]
>>> print(list[3:])
[3, 4, 5, 6, 7, 8, 9]
>>> print(list[-3:])
[7, 8, 9]
>>> print(list[::])
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(list[::2])
[0, 2, 4, 6, 8]
>>>

何为无线索引,即是无头(list[:3]),或者无尾(list[3:]),或者头尾皆无(list[::])
理解起来也很简单,既然有数字就代表从什么到什么位置,[:3]代表从开始到第三个位置,[3:]代表从第三个位置到最后。[::]代表从头到尾。
[::2]多出的2就是步长,理解同第3步。
总结一下:遇到数字即为元素位置,取数不取最后一个元素,2个冒号后的数字代表步长

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值