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

作者:君浪 时间:2023-07-12 04:13:32 

今天写的代码片段:

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会增加一个值。

来源:https://blog.csdn.net/u011602557/article/details/71075610

标签:python,赋值
0
投稿

猜你喜欢

  • python爬虫快速响应服务器的做法

    2022-09-24 21:05:31
  • layui实现下拉复选功能的例子(包括数据的回显与上传)

    2024-02-24 17:37:10
  • Web内容写作:得到更好稿件的头15条规则[译]

    2011-06-09 14:38:00
  • Django实现简单的分页功能

    2021-08-08 20:53:14
  • python模块导入的细节详解

    2021-01-09 19:18:08
  • Python实现如何根据文件后缀进行分类

    2023-12-11 07:46:40
  • Python全栈之模板渲染详解

    2021-06-07 12:39:48
  • pandas按若干个列的组合条件筛选数据的方法

    2023-10-27 03:49:07
  • PyQt5每天必学之关闭窗口

    2022-07-29 21:41:32
  • Python常用库Numpy进行矩阵运算详解

    2023-01-04 02:45:52
  • MySQL预编译功能详解

    2024-01-27 06:50:25
  • python文件操作的基础详细讲解(write、read、readlines、readline)

    2021-04-05 19:31:44
  • css样式表滤镜全接触

    2007-10-26 12:48:00
  • python如何基于redis实现ip代理池

    2022-11-05 20:49:08
  • 详解Python中的Dict(下篇)

    2021-11-10 17:16:14
  • js实现九宫格图片半透明渐显特效的方法

    2024-04-19 11:03:55
  • element-ui table span-method(行合并)的实现代码

    2024-05-10 14:17:35
  • Python version 2.7 required, which was not found in the registry

    2021-06-02 14:57:13
  • JSONLINT:python的json数据验证库实例解析

    2022-08-13 21:53:01
  • php传值和传引用的区别点总结

    2024-03-18 11:26:39
  • asp之家 网络编程 m.aspxhome.com