例如,如果我们有一个numpy数组A
,我们想要一个Numpy数组B
同样的元素。
这些方法有什么区别?何时分配额外内存,何时不分配?
B = A
B[:] = A
(与B[:]=A[:]
?)numpy.copy(B, A)
发布于 2018-03-26 16:03:11
这三个版本都有不同的功能。
B
已命名的现有对象A
。之后,它们会引用同一个对象,因此,如果您在适当的位置修改一个对象,您也会看到另一个对象的更改。A
进入现有数组B
...。这两个数组必须具有相同的形状才能工作。B[:] = A[:]
做同样的事情(但是B = A[:]
会做一些类似的事情。B = numpy.copy(A)
。这与2几乎相同,但它创建了一个新数组,而不是重用B
阵列。如果没有其他参考B
值时,最终结果将与2相同,但在复制过程中它将临时使用更多内存。https://stackoverflow.com/questions/-100004311
复制相似问题