美文网首页
python中的3种复制

python中的3种复制

作者: 学习是什么能吃吗 | 来源:发表于2019-02-21 21:06 被阅读0次

    a赋值给b:

    a = numpy.arange(8)

    b = a

    b.shape = 2,4

    print(b)

    print(a is b)

    b[0,1] = 565

    print (a)

    print (b)

    print (id(a))

    print (id(b))

    结果

    在这里可以发现直接把a赋值给b,则a与b会指向同一个地址,同一个值。


    a.view()赋值给b:

    a = numpy.arange(8)

    b = a.view()

    b.shape = 2,4

    print(a is b)

    b[0,1] = 565

    print (a)

    print (b)

    print (id(a))

    print (id(b))

    结果

    把a.view()赋值给b可以看出来他们是指向不同的地址但是共用同一套值


    a.copy()赋值给b:

    a = numpy.arange(8)

    b = a.copy()

    b.shape = 2,4

    print(a is b)

    b[0,1] = 565

    print (a)

    print (b)

    print (id(a))

    print (id(b))

    结果

    用a.copy()赋值给b则他们指向的地址不同用的值也不同。

    相关文章

      网友评论

          本文标题:python中的3种复制

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