浅谈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 相关文章推荐
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
详解Django框架中的视图级缓存
Jul 23 Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 Python
python Crypto模块的安装与使用方法
Dec 21 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
python实现邮件自动发送
Aug 10 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
使用Pandas的Series方法绘制图像教程
Dec 04 Python
Python实现AI换脸功能
Apr 10 Python
Python学习开发之图形用户界面详解
Aug 23 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调用mysql数据 dbclass类
2011/05/07 PHP
php牛逼的面试题分享
2013/01/18 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
Js获取事件对象代码
2010/08/05 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
Nest.js散列与加密实例详解
2021/02/24 Javascript
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
shell程序中如何注释
2012/01/28 面试题
副护士长竞聘演讲稿
2014/04/30 职场文书
贫困证明怎么写
2015/06/16 职场文书
清明节主题班会
2015/08/14 职场文书
运动会广播稿200字
2015/08/19 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫