时间:2021-05-22
今天写的代码片段:
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 + 1W = [20,15]a = 10func(W,a)print W,ali和num也是浅拷贝的方式,但是在num = num + 1这一句中,num改变了其引用对象,因此不会改变其外界的值,而W会增加一个值。
以上这篇浅谈python连续赋值可能引发的错误就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文分析了Python出现segfault错误解决方法。分享给大家供大家参考,具体如下:最近python程序在运行过程中偶尔会引发系统segfault的错误,而
异常(exceptions)是Python中一种非常重要的类型,它和语法错误不同,是在程序运行期间引发的错误。Python中内置了很多异常,如IOError,N
本文实例讲述了JavaScript中的连续赋值问题。分享给大家供大家参考,具体如下:JavaScript中的连续赋值:vara={n:1}varb=a;a.x=
Python中多目标赋值即将等号左边所有的变量名都赋值给右边的对象,完成赋值操作,比如将三个变量同时赋值给一个字符串。a=b=c='Python'print(a
一.抛出异常Python用异常对象(exceptionobject)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(T