话不多说,直接上干货!
切片用于取list,tuple和str的部分元素,可以达到很简单的操作完成。
list[a:b:c] (其中中括号内至少有一个冒号)
在没有自己给定义时,a表示list中的第一个元素
b表示list中最后一个元素的后一个
c为1
一、 list[2:7:2] 当自己给出了定义时,这个表示取list中第二个元素,然后是间隔再取一个元素,直到到达第七个元素的前一个元素(这里不包括第七个元素)
通常情况是:取表中从第a个元素,后去第a+c个元素,然后又是a+c+c个元素,直到取到第b个元素之前的一个元素(当然不包含b元素)
二、 当c取默认值时可以将后面的冒号省略掉
lis[a:b] 表示取a到b-1之间的连续整数
三、 当a为负值时,表示从list的倒数第a个元素取直到b的前一个
四、集中特殊状况:
list[::]—表示取list本身
list[::-1]—表示取list的相反序列
重点内容下面给出几个列子详细说明
`>>>list=[1,3,53,4,234,3,24,2,23]
list[2:8:2]#取第二个到第八个(不包含)每个数相间隔一个数
[3,4,3]
list[2:5]#取第二个(包含)到第五个(不包含)中间的连续整数
[2,53,4,234]
list[-2:]#取list倒数第二个元素到最后一个元素,包含最后一个元素(这里千万记得b的默认值时list最后一位的后面一位)
[2,23]
list[::-1]#取list的反序列
[23,2,24,3,234,4,53,3,1]
list[::]#取list的原序列
[1,3,53,4,234,3,24,2,23]`
从以上的实例可以延伸到tuple类型和str类型
**一、切片取的是原来list,tuple或是str的副本,两个不在一个存储空间,所以改变切片取来的并不会影响原来的list ,tuple或是str
二、切片返回的是一个是原来的类型,并不会改变,也就是说,取list,tuple还是str其返回的都是相应的list,tuple或是str类型**