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