python中的数组赋值与拷贝的区别详解

 更新时间:2019年11月26日 16:44:27   作者:coding上下求索  
今天小编就为大家分享一篇python中的数组赋值与拷贝的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

具体的注解我已经写在了程序里面:通俗的解释了python里面的浅拷贝与深拷贝的不同,请看程序。

# -*- coding: utf-8 -*-
 
import numpy as np
import copy as cp
import matplotlib.pyplot as plt
import time
import math
 
 
fig = plt.figure()
ax = fig.add_subplot(241)
# 定义一个多维数组
x = np.array([[1, 2, 3],
       [4, 5, 6]])
print('x:{}'.format(x))
ax.plot(x)
 
ax1 = fig.add_subplot(242)
# 首先看一下浅拷贝,将x拷贝(赋值)给y
y = x
print('y:{}'.format(y))
ax1.plot(y)
 
# 改变一下y中的任意一个索引的值,可以看到x也随着y一起改变了,
# 这就是浅拷贝,原数组随着拷贝的对象的改变而改变了。
y[0, 0] = 9
print('y改变值:')
print(y)
ax2 = fig.add_subplot(243)
ax2.plot(y)
print('x的值在y改变之后:')
print(x)
ax3 = fig.add_subplot(244)
ax3.plot(x)
 
# 下面来看一下深拷贝,py里面首先要导入copy这个包,这里用cp表示。
x = np.array([[1, 2, 3],
       [4, 5, 6]])
print('\n\nx:{}'.format(x))
ax4 = fig.add_subplot(245)
ax4.plot(x)
 
y = cp.copy(x)
print('y:{}'.format(y))
ax5 = fig.add_subplot(246)
ax5.plot(y)
 
# 随意改变y的某一个索引,可以看到,y改变了,但是x还是它自己
y[0, 0] = 9
print('y改变值:')
print(y)
ax6 = fig.add_subplot(247)
ax6.plot(y)
 
print('x的值在y改变之后:')
print(x)
ax7 = fig.add_subplot(248)
ax7.plot(x)
 
plt.show()

以上这篇python中的数组赋值与拷贝的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何解决pycharm调试报错的问题

    如何解决pycharm调试报错的问题

    在本篇内容里小编给大家整理的是一篇关于如何解决pycharm调试报错的问题文章,需要的朋友们可以学习参考下。
    2020-08-08
  • Python实现屏幕代码雨效果的示例代码

    Python实现屏幕代码雨效果的示例代码

    这篇文章主要介绍了如何利用Python中的Pygame模块实现代码雨效果,文中通过示例代码介绍的非常详细,感兴趣的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • Python中re模块下的函数详解

    Python中re模块下的函数详解

    这篇文章主要介绍了Python中re模块下的函数详解,re.match() 函数是从头开始匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None,需要的朋友可以参考下
    2023-08-08
  • Python的pygame安装教程详解

    Python的pygame安装教程详解

    Pygame是跨平台Pyth,Pygame 作者是 Pete Shinners, 协议为 GNU Lesser General Public License。这篇文章主要介绍了Python的pygame安装教程,需要的朋友可以参考下
    2020-02-02
  • python使用IPython调试debug程序

    python使用IPython调试debug程序

    这篇文章主要为大家介绍了python使用IPython调试debug程序详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)

    利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)

    这篇文章主要给大家介绍了关于利用Python批量压缩png的相关资料,文中介绍的方法支持过滤个别文件与文件夹,文中通过示例代码介绍的非常详细,需要的朋友们下面跟着小编来一起看看吧。
    2017-07-07
  • 在Linux下调试Python代码的各种方法

    在Linux下调试Python代码的各种方法

    这篇文章主要介绍了在Linux下调试Python代码的各种方法,用于编程后的debug工作,需要的朋友可以参考下
    2015-04-04
  • Python实现检测SSL证书是否过期

    Python实现检测SSL证书是否过期

    我们知道 SSL 证书是会过期的,一旦过期之后需要重新申请,如果没有及时更换证书的话,就有可能导致网站出问题,所以本文介绍了如何利用Python实现检测SSL证书是否过期,需要的可以参考下
    2023-08-08
  • python中time、datetime模块的使用

    python中time、datetime模块的使用

    这篇文章主要介绍了python中time、datetime模块的使用,帮助大家更好的利用python处理时间,感兴趣的朋友可以了解下
    2020-12-12
  • python使用marshal模块序列化实例

    python使用marshal模块序列化实例

    这篇文章主要介绍了python使用marshal模块序列化的方法,是非常实用的技巧,需要的朋友可以参考下
    2014-09-09

最新评论