有两个创建数组的选项:
x = numpy.array([[5, 5, 3, 2], [2, 1, 0, 9], [3, 7, 6, 0]])
y = numpy.array([(5, 5, 3, 2), (2, 1, 0, 9), (3, 7, 6, 0)])
但它们有相同的输出。
[[5 5 3 2]
[2 1 0 9]
[3 7 6 0]]
他们有相同的类型:
<class 'numpy.ndarray'>
哪个更好,有什么区别?
最佳答案
Python 有 tuples (带圆括号,如 (1,4,2,5)
)和 列表(带方括号,如 [1,4,2,5]
)。元组是不可变有序集合:一旦构建,长度和元素都不能改变(但是可以改变单个元素的状态,因为它们是可变的)。都用过for different purposes .
但是如果你构造一个2d numpy 数组,那么两者都会产生相同的数组,因为 numpy 只会读取 in 中的元素列表/元组并将数据复制到数组中。只有当行的长度不同时,numpy 才会构造一个对象数组,然后它会引用元组/列表。
关于python - 在 Python 的 NumPy 中创建数组时方括号和括号之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44791059/