浅谈python连续赋值可能引发的错误


Posted in Python onNovember 10, 2018

今天写的代码片段:

X = Y = []
..
X.append(x)
Y.append(y)

其中x和y是读取的每一个数据的xy值,打算将其归入列表之后绘散点图,但是绘图出来却是一条直线,数据本身并不是这样分布的。

反复检查后,发现是X = Y =[]这一句的错误。

在python中,形如X = Y的拷贝都是浅拷贝,X和Y是公用同一块空间的,一旦对它们其中的任意一个进行数据操作,都会改变该空间的内容,除非重新赋一块空间,改变其指向的位置。

因此只需要改成:

X = []
Y = []

就可以运行正确了。

拓展宽一点思考,对于函数来说:

def func(li,num):
 li.append(12)
 num = num + 1
W = [20,15]
a = 10
func(W,a)
print W,a

li和num也是浅拷贝的方式,但是在num = num + 1这一句中,num改变了其引用对象,因此不会改变其外界的值,而W会增加一个值。

以上这篇浅谈python连续赋值可能引发的错误就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中__call__内置函数用法实例
Jun 04 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
Python实现曲线点抽稀算法的示例
Oct 12 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
Linux下安装python3.6和第三方库的教程详解
Nov 09 #Python
Python2和Python3.6环境解决共存问题
Nov 09 #Python
python3 面向对象__类的内置属性与方法的实例代码
Nov 09 #Python
python 不同方式读取文件速度不同的实例
Nov 09 #Python
对python多线程与global变量详解
Nov 09 #Python
python 多线程中子线程和主线程相互通信方法
Nov 09 #Python
Python文件循环写入行时防止覆盖的解决方法
Nov 09 #Python
You might like
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
php显示页码分页类的封装
2017/06/08 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
javascript 写类方式之五
2009/07/05 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JavaScript中匿名函数用法实例
2015/03/23 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
在Python中使用列表生成式的教程
2015/04/27 Python
python实现多线程的两种方式
2016/05/22 Python
pytorch + visdom 处理简单分类问题的示例
2018/06/04 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
跟单业务员岗位职责
2014/03/08 职场文书
群众路线个人整改措施
2014/10/24 职场文书
委托函范文
2015/01/29 职场文书
2015年体育部工作总结
2015/04/02 职场文书
刑事案件上诉状
2015/05/23 职场文书
网络营销实训总结
2015/08/03 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
Python实现随机生成迷宫并自动寻路
2021/06/13 Python