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列表操作实例
Jan 14 Python
python实现简单温度转换的方法
Mar 13 Python
python对html代码进行escape编码的方法
May 04 Python
python回调函数用法实例分析
May 09 Python
Python入门之modf()方法的使用
May 15 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
python基于selenium爬取斗鱼弹幕
Feb 20 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
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
js中this的用法实例分析
2015/01/10 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python unittest单元测试框架总结
2018/09/08 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
使用pip安装python库的多种方式
2019/07/31 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
惠普香港官方商店:HP香港
2019/04/30 全球购物
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
PHP笔试题
2012/02/22 面试题
学校安全防火方案
2014/06/07 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
普宁寺导游词
2015/02/04 职场文书
Java 在生活中的 10 大应用
2021/11/02 Java/Android
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android