gpt4 book ai didi

python - `arr_2 = arr`和 `arr_2 = arr.view()`和 `arr_ 2 = arr.copy()`有什么区别

转载 作者:行者123 更新时间:2023-12-04 14:45:54 25 4
gpt4 key购买 nike

view和copy的意思是不同的,如果你有一个view,那么如果你改变1另一个也应该改变,如果你有一个副本那么改变1应该不会影响另一个
有 3 种制作 view 的方法/copy数组的

arr_2 = arr
arr_2 = arr.view()
arr_2 = arr.copy()
他们三个似乎都返回了一个副本,我期望(查看,查看,复制)
为什么会这样?
编辑:我的意思是 copy是,改变其中之一 改变另一个
以及我的意思 view是,改变其中一个以太改变另一个

最佳答案

python中复制数组的三种方式

  • 赋值运算符(=):它只创建一个共享原始对象引用的新变量
  • 浅拷贝 (.view()):对象的引用被复制到另一个对象中。这意味着对对象副本所做的任何更改都会反射(reflect)在原始对象中。
  • Deep Copy (.copy()):对象的一个​​副本被复制到另一个对象中。这意味着对对象副本所做的任何更改都不会反射(reflect)在原始对象中。
  • 关于python - `arr_2 = arr`和 `arr_2 = arr.view()`和 `arr_ 2 = arr.copy()`有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70076965/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com