创建数组有两个选项:
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'>
哪一个更好,有什么区别?
答案 0 :(得分:5)
Python 有tuples(带圆括号,如UIControlEventEditingChanged
)和列表(带方括号,如(1,4,2,5)
) 。元组是不可变的有序集合:一旦构造,长度和元素都不能改变(但是,如果这些元素是可变的,则可以改变单个元素的状态)。两者都使用for different purposes。
但是如果你构造一个 2d numpy数组,那么两者都将导致相同的数组,因为numpy只会读取中的元素 list / tuple并将数据复制到数组中。只有当例如行具有不同的长度时,numpy才会构造一个对象数组,然后它将引用元组/列表。
答案 1 :(得分:2)
从numpy的角度来看 - 两个选项之间没有区别:结果数组在所有内容中都是“相同的”。