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


Posted in Python onNovember 26, 2019

具体的注解我已经写在了程序里面:通俗的解释了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中的数组赋值与拷贝的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中global与nonlocal比较
Nov 21 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 Python
python opencv判断图像是否为空的实例
Jan 26 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
Python中调用其他程序的方式详解
Aug 06 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
python计算二维矩形IOU实例
Jan 18 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
python 穷举指定长度的密码例子
Apr 02 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
使用python切片实现二维数组复制示例
Nov 26 #Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 #Python
Python实现随机取一个矩阵数组的某几行
Nov 26 #Python
Python 求数组局部最大值的实例
Nov 26 #Python
Python 实现取多维数组第n维的前几位
Nov 26 #Python
python获取array中指定元素的示例
Nov 26 #Python
Flask之pipenv虚拟环境的实现
Nov 26 #Python
You might like
PHP 日期加减的类,很不错
2009/10/10 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
JavaScript 程序编码规范
2010/11/23 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
整理Python 常用string函数(收藏)
2016/05/30 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
python实现简单多人聊天室
2018/12/11 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
python面试题之列表声明实例分析
2019/07/08 Python
python随机生成库faker库api实例详解
2019/11/28 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
环境科学专业个人求职信
2013/09/26 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
有创意的广告词
2014/03/18 职场文书
服装设计师求职信
2014/06/04 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
医德医风自我评价
2014/09/19 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
银行求职信怎么写
2019/06/20 职场文书
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js