不知道大家有没有见过在python
数组中使用...
符号,因为前段时间读别人代码的时候遇到了这个符号立刻就云里雾里,于是这里特此记录一下。先来看一段代码:
import numpy as np
x = np.array([[1, 3],
[5, 6],
[8, 10]])
print("使用'...'符号的结果为:")
print(x[..., 0])
print("使用':'符号的结果为:")
print(x[:, 0])
"""
使用'...'符号的结果为:
[1 5 8]
使用':'符号的结果为:
[1 5 8]
"""
对比结果不难发现,可以得到结论在python
数组中,...
符号的功能等同于:
符号。然而事实真的是这样吗?答案是否定的,我们再看一下三维数组的情况。
import numpy as np
x = np.array([[[0, 1],
[2, 3]],
[[4, 5],
[5, 6]],
[[7, 8],
[9, 10]]])
print("使用'...'符号的结果为:")
print(x[..., 0])
print("使用两个':'符号的结果为:")
print(x[:, :, 1])
print("使用一个':'符号的结果为:")
print(x[:, 1])
"""
使用'...'符号的结果为:
[[0 2]
[4 5]
[7 9]]
使用两个':'符号的结果为:
[[ 1 3]
[ 5 6]
[ 8 10]]
使用一个':'符号的结果为:
[[ 2 3]
[ 5 6]
[ 9 10]]
"""
我们可以看到,使用符号...
的结果与使用两个:
符号的结果一致,但是与使用单个:
符号的结果有出入。因此我们可以得到,符号...
并不完全等同于符号:
。
结论:对于二维数组,符号...
等同于符号:
,但是对于三维数组则不等于,要考虑具体的情况。
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~