這裏主要介紹了在2維列表中的操作,高維操作相同。
1.None的作用
None的作用主要是在使用None的位置新增一個維度。
例子:
a = np.arange(25).reshape(5,5)
print(a)
'''
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]]
'''
print(a[:,None])
'''
shape:5*1*5
[[[ 0 1 2 3 4]]
[[ 5 6 7 8 9]]
[[10 11 12 13 14]]
[[15 16 17 18 19]]
[[20 21 22 23 24]]]
'''
print(a[:,:,None])
'''
shape: 5*5*1
[[[ 0]
[ 1]
[ 2]
[ 3]
[ 4]]
[[ 5]
[ 6]
[ 7]
[ 8]
[ 9]]
[[10]
[11]
[12]
[13]
[14]]
[[15]
[16]
[17]
[18]
[19]]
[[20]
[21]
[22]
[23]
[24]]]
'''
2. 省略號的作用
省略前面所有的 ‘:‘索引操作
例子:
print(a[...,2:5])
'''
[[ 2 3 4]
[ 7 8 9]
[12 13 14]
[17 18 19]
[22 23 24]]
'''
高維操作同理:
如在三維情況下:
b = np.arange(16).reshape(2,2,4)
print(b)
'''
[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
'''
print(b[...,0:2])
'''
[[[ 0 1]
[ 4 5]]
[[ 8 9]
[12 13]]]
'''
print(b[None,...].shape)
'''
(1, 2, 2, 4)
'''