0
点赞
收藏
分享

微信扫一扫

python数组中的符号...与:符号的不同之处


不知道大家有没有见过在​​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]]
"""

我们可以看到,使用符号​​...​​​的结果与使用两个​​:​​​符号的结果一致,但是与使用单个​​:​​​符号的结果有出入。因此我们可以得到,符号​​...​​​并不完全等同于符号​​:​​。

结论:对于二维数组,符号...等同于符号​:​,但是对于三维数组则不等于,要考虑具体的情况。

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~


举报

相关推荐

0 条评论