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网络编程示例(客户端与服务端)
Apr 24 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
Python管理Windows服务小脚本
Mar 12 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
用python处理MS Word的实例讲解
May 08 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
利用python修改json文件的value方法
Dec 31 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
基于python实现上传文件到OSS代码实例
May 09 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 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 代码优化之经典示例
2011/03/24 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
Django实现简单分页功能的方法详解
2017/12/05 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
python做接口测试的必要性
2019/11/20 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
yy婚礼司仪主持词
2014/03/14 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
办护照工作证明
2014/10/01 职场文书
音乐会主持人开场白
2015/05/28 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript