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获取apk文件URL地址实例
Nov 01 Python
python调用java的Webservice示例
Mar 10 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python抓取框架 Scrapy的架构
Aug 12 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 Python
python实现PCA降维的示例详解
Feb 24 Python
python如何编写win程序
Jun 08 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
Django一小时写出账号密码管理系统
Apr 29 Python
浅析python中特殊文件和特殊函数
Feb 24 Python
详解PyTorch模型保存与加载
Apr 28 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
4.与数据库的连接
2006/10/09 PHP
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
Laravel下生成验证码的类
2017/11/15 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
永不消失的title提示代码
2007/02/15 Javascript
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
如何开发安全的AJAX应用
2014/03/26 面试题
京剧自荐信
2014/01/26 职场文书
市场营销工作计划书
2014/05/06 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
门店店长岗位职责
2015/04/14 职场文书
行为习惯主题班会
2015/08/14 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技