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