... 在python中的作用

发布时间 2024-01-06 22:15:41作者: Angels_of_Death
  1. 在函数中当作pass使用
def f():
    ...
  1. 在numpy中的使用:
    当作索引的省略
b = np.arange(12).reshape(2, 3, 2)
print(b)
"""
[[[ 0  1]
  [ 2  3]
  [ 4  5]]

 [[ 6  7]
  [ 8  9]
  [10 11]]]
"""
print(b[..., 0])
"""
返回一个(2, 3)的矩阵,其中所有元素在原矩阵中第三维都为0
[[ 0  2  4]
 [ 6  8 10]]
"""
print(b[..., 1])
"""
返回一个(2, 3)的矩阵,其中所有元素在原矩阵中第三维都为1
[[ 1  3  5]
 [ 7  9 11]]
"""
print(b[..., 0, 0])
"""
返回一个(2, )的矩阵,其中所有元素在原矩阵中第二维和第三维为(0, 0)
[0 6]
"""
print(b[1, ...])
"""
返回一个(3, 2)的矩阵,其中所有元素在原矩阵中第一维都为1
[[ 6  7]
 [ 8  9]
 [10 11]]
"""

在迭代中修改原数组使用

a = np.arange(6).reshape(2, 3)

with np.nditer(a, op_flags=['readwrite']) as it:
    for x in it:
        x[...] = 2 * x  #可以修改原数组
        # x = 2 * x  不可以修改原数组
        # x *= 2  可以修改原数组

print(a)