https://www.jianshu.com/p/15715d6f4dad
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b=a[1:6:-1] #-1代表从右往左取值,最终取出来的b是个空的[]
print(b)
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b=a[1:6:1] #1代表从左往右取值,最终取出来的b是[1, 2, 3, 4, 5]
print(b)
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b=a[1:6:2] #2代表从右往左取值,步长是2,最终取出来的b是[1, 3, 5]
print(b)
这时对一维的列表操作,
试一下二维的列表可不可以。【其实对二维数组也是有效的】
a=np.random.randint(0,10,size=[6,3])
print("a")
print(a)
b=a[1:6:1]
print("b")
print(b)
输出结果:
a
[[7 7 9]
[9 5 9]
[6 3 6]
[3 2 2]
[6 9 2]
[0 5 0]]
b
[[9 5 9]
[6 3 6]
[3 2 2]
[6 9 2]
[0 5 0]]
下面是取出二维数组a的奇数行,并重新组建一个二维数组b:
a=np.random.randint(0,10,size=[6,3])
print("a")
print(a)
b=a[1:-1:2]
print("b")
print(b)
运行结果:
a
[[6 9 9]
[5 9 3]
[5 3 6]
[4 2 1]
[1 5 5]
[9 4 2]]
b
[[5 9 3]
[4 2 1]] #这里丢失了最后一行,所以该程序为:
a=np.random.randint(0,10,size=[6,3])
print("a")
print(a)
b=a[1::2]
print("b")
print(b)
输出结果为:
a
[[6 5 9]
[3 7 2]
[3 7 4]
[2 2 2]
[8 0 0]
[6 9 9]]
b
[[3 7 2]
[2 2 2]
[6 9 9]]
可以完美解决问题。