Python内置数据结构--切片

线性结构

 

线性结构特征:

  可迭代,for ... in 

  有长度,通过len(x)获取,容器

  通过整数下边可以访问元素,正索引、负索引

已经学过的线性结构有:list tuple bytes bytearray str  

 

切片:

  sequence[start,stop]  #指定区间

  sequence[start,stop,step] #指定区间加步长

  通过给定的索引区间获得线性结构的一部分数据[start,stop],start、stop、step为整数,可以是正整数也可以是负整数 和零;start为0时可省略,stop为末尾时也可省略,step为1可省略

  切片时,索引超过上届(右边界)就取末尾;超过下届(左边界)取到开头

 示例:

 

 

 

 切片本质:

x = [1,2,3]
y = x[:]
print(x,y)
print(x == y)
print(id(x),id(y))
x[0] = 100
print(x,y)



x = [[1]]
y = x
print(x,y)
print(x ==y)
print(id(x),id(y),x is y)
x[0][0] = 100
print(x == y )

 

 

 从上面的示例能看出切后得到的是一个全新的对象,[:] [::]相当于浅拷贝,copy方法。 

 

 

 

posted @ 2020-03-31 21:11  Alrenn  阅读(168)  评论(0)    收藏  举报