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基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 Python
python开发之thread线程基础实例入门
Nov 11 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
关于Python 3中print函数的换行详解
Aug 08 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
python进行文件对比的方法
Dec 24 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
Python实现简繁体转换
Jun 07 Python
使用python求解迷宫问题的三种实现方法
Mar 17 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实现的多文件上传类及用法示例
2016/05/06 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
用python实现面向对像的ASP程序实例
2014/11/10 Python
Python连接DB2数据库
2016/08/27 Python
Python的标准模块包json详解
2017/03/13 Python
python小项目之五子棋游戏
2019/12/26 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
质检员的岗位职责
2013/11/15 职场文书
教师队伍管理制度
2014/01/14 职场文书
个性车贴标语
2014/06/24 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
亮剑观后感600字
2015/06/05 职场文书
导游词书写之黄山
2019/08/06 职场文书