【list切片】简解python切片取值

导语

众所周知,在python里面,切片是一个极其好用的语法,可是许多新上手的pythoner,在它的取值这里会比较蒙,许多教程讲解是十分详细,但不够简洁,因此这里整理了一份简洁的,专供人类阅读的切片介绍。

正文

那么闲言少叙,这里就来举个栗子:

    arr = ['a','b','c','d']

这里有一个arr的数组,首先我们明确的知道,在正序下a的索引为0,d的索引为3;倒序下,a的索引为-4,d的索引为-1。

那么现在可以将其换成一张图来观察一下:
【list切片】简解python切片取值_第1张图片

将其转换成如此,那么切片该如何取值就十分的清晰了!

来看一下:

# 正序取值
In[3]: arr[0:2]
Out[3]: ['a', 'b']
In[4]: arr[1:3]
Out[4]: ['b', 'c']

对应着上图来看,当取值为[0,2]里取到的就是索引0-2里的a,b[1:3]取到的就是1-3里的b,c,对应着上图,可以看就是取得索引中间的值。

# 倒序取值

In[5]: arr[-4:-1]
Out[5]: ['a', 'b', 'c']
In[6]: arr[-3:]
Out[6]: ['b', 'c', 'd']

同理,使用倒序取值的方法,也是对应着上图里,索引中间的值。

总结

假如此图还没有太让你明确取值的方法,那么还可以再来精简一下,使用数学里的区间来理解,就更容易了。

arr[1:4] => [1,4)

当切片的值为[1:4]的时候,会由对应的列表里索引为1的值开始,到索引为4的值结束,并且不包含索引为4的值。

tips:
明白了切片的取值方式后,再来看看range里,它会取到的值与切片同理,也是包含左区间的值,不包含右边的值。

你可能感兴趣的:(python)