即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

两张图看懂切片

编程语言 xiermail0 16℃ 0评论
本文目录
[隐藏]

先贴图

两张图看懂切片

用6个元素,只是为了看得清楚些。

# 6个元素的list
n = ['a','b','c','d','e','f']
print(n[0])
# a
print(n[5])
# f
# 注意下面切片使用的索引是上图红色和蓝色的数字
# 可以看一看,切片开始和结束连接时在图中覆盖的部分是否和打印的一致
print(a[0:6])
# ['a', 'b', 'c', 'd', 'e', 'f']
print(n[-6:-1])
# ['a', 'b', 'c', 'd', 'e']
print(n[2:-2])
# ['c', 'd']
print(n[-5:2])
# ['b']
print(n[-3:2]) #当切片正着数时,开始索引应当位于结束索引的前面,否则为空list,具体位置关系可以看上图,
# []

重点是,当插入元素时,用上图来理解是相当受用的,不像用append()方法,是将list作为元素插入末尾,而extend()和+=只能加在末尾,insert()也是将list作为元素插入

n[0:-6] = 'x'
print(n)
# ['x', 'a', 'b', 'c', 'd', 'e', 'f']
del n[0]
n[-6:0] = 'y'
print(n)
# ['y', 'a', 'b', 'c', 'd', 'e', 'f']
n[0:2] = ['z1','z2']
print(n)
# ['z1', 'z2', 'b', 'c', 'd', 'f']
n[0:0] = 'z3'
print(n)
# ['z3', 'z2', 'b', 'c', 'd', 'f']

当倒着数时(不知道为什么正着数和倒着数不统一)

两张图看懂切片

n = ['a','b','c','d','e','f']
print(n[-4:0:-1])
# ['c', 'b']
print(n[0:-4:-1])
# []
n[-4:0:-1] = ['z1','z2'] #不支持此语法
#Traceback (most recent call last):
# File "", line 1, in 
#    n[-4:0:-1] = ['z1','z2']
#ValueError: attempt to assign sequence of size 2 to extended slice of size 4

注意:range()虽然和切片很像,但是是不同的,点击了解

1.切片的妙用

sArr = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'd'] #发现少了orl三个字母
sArr[-1:-1] = 'orl'
print(sArr)
# ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
print(''.join(sArr))
# Hello World

转载请注明:CodingBlog » 两张图看懂切片

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情