浅谈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基于socket实现网络广播的方法
Apr 29 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python中实现迭代器(iterator)的方法示例
Jan 19 Python
python利用Guetzli批量压缩图片
Mar 23 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
django如何通过类视图使用装饰器
Jul 24 Python
django 框架实现的用户注册、登录、退出功能示例
Nov 28 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
浅析python 动态库m.so.1.0错误问题
May 09 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
python中的装饰器该如何使用
Jun 18 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网上调查系统
2006/10/09 PHP
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
php探针不显示内存解决方法
2019/09/17 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
基于JS判断对象是否是数组
2020/01/10 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python中List.count()方法的使用教程
2015/05/20 Python
python3+PyQt5实现柱状图
2018/04/24 Python
python相对企业语言优势在哪
2020/06/12 Python
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
铭立家具面试题
2012/12/06 面试题
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
大学毕业登记表自我鉴定
2013/10/09 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
女方离婚起诉书
2015/05/18 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python