浅谈python连续赋值可能引发的错误
作者:君浪 发布时间:2023-07-12 04:13:32
标签:python,赋值
今天写的代码片段:
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


猜你喜欢
- 首先通过一个例子来看一下本文中可能用到的对象和相关概念。 #coding: UTF-8 import sys # 模块,sys指向这个模块对
- 使用Tkinter模块来创建简单的GUI程序。Tkinter的Widgets有:Button、Canvas、Checkbutton、Entr
- Python-类属性,实例属性,类方法,静态方法,实例方法类属性和实例属性#coding:utf-8class Student(object
- 创建类from django.forms import ModelFormfrom django.forms import widgets
- 以下内容来自CHATGPT,其中PGADMIN经实验,有效1、在MYSQL中使用:可以使用GROUP_CONCAT函数来实现相同名称的多行字
- 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类(异常值检
- 本文实例讲述了Golang算法之田忌赛马问题实现方法。分享给大家供大家参考,具体如下:【田忌赛马问题】输入:输入有多组测试数据。 每组测试数
- LEN()函数获取字符串的长度。LEN( <字符> )--返回整型SUBSTRING()函数截取字符内指定位置、指定内容的字符。
- 一、定位元素的8种方式1、方法介绍定位一个元素定位多个元素含义find_element_by_id()find_elements_by_id
- 问题你想根据一组语法规则解析文本并执行命令,或者构造一个代表输入的抽象语法树。 如果语法非常简单,你可以不去使用一些框架,而是自己写这个解析
- MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用
- 1.登录mysql: mysql -u root -h 127.0.0.1 -p2.切换数据库 use mysql3.授权grant all
- Python是一门清晰简洁的语言,如果你对一些细节不了解的话,就会掉入到那些深不见底的“坑”里,下面,我就来总结一些Python里常见的坑。
- 在Python中,split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法
- MaxDB和MySQL是独立的数据库管理服务器。系统间的协同性是可能的,通过相应的方式,系统能够彼此交换数据。要想在MaxDB和MySQL之
- 一、背景先要从 InnoDB 的索引实现说起,InnoDB 有两大类索引:聚集索引 (clustered index)普通索引 (secon
- 最近有一个需求要把dataframe转换为多维矩阵,然后可以使用values来实现,下面记录一下代码,方便以后使用。import panda
- icech: 在制作网页的时候,常常要遇到制作虚线表格的问题,下面的文章就能解决这个问题。方法一:作一个1X2的图。半黑半白,再利用表格作成
- 在一个网站,大量数据的前后端交互,JSON是最好的传递数据方式了。在Django中,使用JSON传输数据,有两种方式,一种是使用Python
- 如何使用Iframe实现本页提交?例:chunfeng.html< html>< head>&n