美文网首页
Numpy的copy和deep copy

Numpy的copy和deep copy

作者: 李小夭 | 来源:发表于2019-07-22 10:37 被阅读0次
    import numpy as np
    a = np.arange(4)
    a
    
    array([0, 1, 2, 3])
    

    赋值并关联

    ※ 把一个array赋值给另一个变量,即两个array完全相等。如果改变a中的值,那么b也会跟着改变。
    b = a
    c = a 
    d = b
    
    # 改变a中的值
    a[0] = 11
    a
    array([11,  1,  2,  3])
    
    # 判断b、c、d是否与a相同
    print(b,c,d)
    
    [11  1  2  3] [11  1  2  3] [11  1  2  3]
    
    ※ 改变d中的值,a中的值同样改变,因为两者完全相同。
    d[1:3] = [22,33]
    print(d,a,b,c)
    
    [11 22 33  3] [11 22 33  3] [11 22 33  3] [11 22 33  3]
    

    赋值但不关联

    ※ 将a的值赋给b,但两者不关联。如果改变a中的值,b不会跟着改变。
    b = a.copy() # deep copy
    print(a,b)
    
    [11 22 33  3] [11 22 33  3]
    
    # 改变a中的值,b仍然不改变
    a[3] = 44
    print(a,b)
    
    [11 22 33 44] [11 22 33  3]
    

    Numpy学习教程来源请戳这里

    相关文章

      网友评论

          本文标题:Numpy的copy和deep copy

          本文链接:https://www.haomeiwen.com/subject/xqrilctx.html