浅谈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 内置函数memoryview(obj)的具体用法
Nov 23 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
使用Python 统计高频字数的方法
Jan 31 Python
python对文件目录的操作方法实例总结
Jun 24 Python
python多线程分块读取文件
Aug 29 Python
python实现广度优先搜索过程解析
Oct 19 Python
python实现图片上添加图片
Nov 26 Python
python cv2截取不规则区域图片实例
Dec 21 Python
Python bytes string相互转换过程解析
Mar 05 Python
Python装饰器的应用场景代码总结
Apr 10 Python
Python 跨.py文件调用自定义函数说明
Jun 01 Python
python 基于卡方值分箱算法的实现示例
Jul 17 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
在PHP中使用curl_init函数的说明
2010/11/02 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
Python转换时间的图文方法
2019/07/01 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
Python requests接口测试实现代码
2020/09/08 Python
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
翻译学院毕业生自荐书
2014/02/02 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
python 多态 协议 鸭子类型详解
2021/11/27 Python
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript