首页
读书
网课
《python》目录


正文

# 省略号(...)也被称为Ellipsis,它是一个特殊的对象,常见用于多维数组的切片操作

# (1)在方法参数中使用,作为任意参数的标志

def process_data(data: int, *args: ...) -> None:

print("Data:", data)

print("Additional arguments:", args)

# Data: 1

# Additional arguments: ('a', True, [1, 2, 3])

process_data(1, 'a', True, [1, 2, 3])

exit()


# (2)用作占位符,表示该部分代码尚未实现。

def func_a():

    ...

func_a()

# (3)在类型注解中,可以使用省略号来表示一个参数的类型是可变的。

def my_func(param: List[int, ...]) -> None:

    pass


# (4)索引作用 指定同质类型的可变长度元组

#         省略号放在数组最后,作用相当于索引操作

import numpy as np

a = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

b = a[0, ...] # array([[1, 2, 3], [4, 5, 6]])

c = a[0] # array([[1, 2, 3], [4, 5, 6]])

print("a")

print(a)

print("b")

print(b)

print("c")

print(c)

exit()


# (5)切片操作

# 省略号放在数组最前面,作用相当于[::]

import numpy as np

a = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

b = a[..., 0] # array([[ 1, 4], [ 7, 10]]) 表示取前面所有维度的第0列

c = a[..., 1] # array([[ 2, 5], [ 8, 12]]) 表示取前面所有维度的第1列

print("a")

print(a)

print("b")

print(b)

print("c")

print(c)

"""

a

[[[ 1  2  3]

  [ 4  5  6]]


 [[ 7  8  9]

  [10 11 12]]]

b

[[ 1  4]

 [ 7 10]]

c

[[ 2  5]

 [ 8 11]]

"""

exit()



上一篇: 没有了
下一篇: 没有了
圣贤书院