python - 在 Python 的 NumPy 中创建数组时方括号和括号之间的区别

标签 python arrays numpy

有两个创建数组的选项:

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'>  

哪个更好,有什么区别?

最佳答案

Pythontuples (带圆括号,如 (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/

相关文章:

python - 在 Python 中,如何检查 2 个不同的链接是否实际指向同一页面?

python - 为什么在tensorflow(python)中调用decode_cvs后没有()?

python - 根据对角线值选择子矩阵

javascript - 使用对象数组中的数据创建字符串数组的函数?

python - 如何将数字数据映射到 Pandas 数据框中的类别/容器

python - 从 xmpp 服务器 : python 设置/获取用户信息

python - 在 Python 中将列表字典写入 csv

java - 在数组的数组中查找模式

python - 如何在Python中查找百分位数

python - 使用 numpy.take 进行更快的花式索引