python:列表切片知识的总结

  列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点:

①、切片区间是左闭右开区间

②、切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数

③、默认步长是1,可增加第三个参数改变步长

④、步长是-1可以实现倒序切片

⑤、步长为正时,首末缺省下标分别为0和n;步长为负时,首末缺省下标分别为-1,-n-1

例如:把123456789变成987654321

# py面试:把123456789变成987654321
# 考查切片知识,倒叙每一个数
a=[1,2,3,4,5,6,7,8,9]
b=a[::-1]
print(b)

输出:[9,8,7,6,5,4,3,2,1]

-1表示倒序,b=a[::-1]等同于b=a[-1::-1],输出也是[987654321]

1、取前三个元素:b=a[0:3],前面那个0可以省略

a=[1,2,3,4,5,6,7,8,9]
b=a[0:3]
print(b)

输出:[1,2,3]

2、取出第1到3个元素:b=a[1:3]

a=[1,2,3,4,5,6,7,8,9]
b=a[1:3]
print(b)

输出:[2,3]

3、b=a[-1]是取出a中最后一个元素,同样也支持倒数切片

a=[1,2,3,4,5,6,7,8,9]
b=a[-2:-1]
print(b)

输出:[8]

4、从第一个开始,每两个取一个

a=[1,2,3,4,5,6,7,8,9]
b=a[0:10:2]
print(b)

输出:[1,3,5,7,9]

5、直接复制一个list:b=a[:]

a=[1,2,3,4,5,6,7,8,9]
b=a[:]
a[0]=100
print(b)

输出:[1,2,3,4,5,6,7,8,9]

b=a不是真实的拷贝:

a=[1,2,3,4,5,6,7,8,9]
b=a
a[0]=100
print(b)

输出:[100, 2, 3, 4, 5, 6, 7, 8, 9]

6、切片除了操作list,也可以操作tuple和str

# 操作tuple
a=(1,2,3,4,5,6,7,8,9) b=a[:3] print(b)

输出:(1, 2, 3)

# 操作str
a="123456789" b=a[:3] print(b)

输出:123

 

posted @ 2020-04-04 20:08  Mr_choa  阅读(1064)  评论(0编辑  收藏  举报