【python】错误:UnboundLocalError: local variable ‘XXX‘ referenced before assignment

2023-10-30

topNSuccessor=None
def reverseTopN(self, head: ListNode, right: int) -> ListNode:
	if right==1:
		topNSuccessor=head.next
        return head

执行此代码报错:UnboundLocalError: local variable ‘XXX’ referenced before assignment

错误: UnboundLocalError:在赋值之前引用了局部变量“XXX”

原因: 在函数内部对变量赋值进行修改后,该变量就会被Python解释器认为是局部变量而非全局变量,当程序执行到topNSuccessor=head.next的时候,此操作是给topNSuccessor赋值,topNSuccessor则被认为是局部变量,而解释器在函数内部找不到topNSuccessor的定义,自然报错
解决方式: 在函数内部,给变量添加global修饰符,声明此变量为全局变量

topNSuccessor=None
def reverseTopN(self, head: ListNode, right: int) -> ListNode:
	global topNSuccessor #全局变量
	if right==1:
		topNSuccessor=head.next
        return head
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python】错误:UnboundLocalError: local variable ‘XXX‘ referenced before assignment 的相关文章

  • Pandas apply 与 np.vectorize 从现有列创建新列的性能

    我正在使用 Pandas 数据框 并希望创建一个新列作为现有列的函数 我还没有看到关于之间速度差异的很好的讨论df apply and np vectorize 所以我想我会在这里问 熊猫apply 功能很慢 根据我的测量 在一些实验中如下
  • DataFrame 在函数内部修改

    我面临一个我以前从未观察到的函数内数据帧修改的问题 有没有一种方法可以处理这个问题 以便初始数据帧不被修改 def test df df tt np nan return df dff pd DataFrame data 现在 当我打印时d
  • 为什么 tkinter / window.update 在我的程序中随着时间的推移变得更慢?

    我发现当我调用 window update 时 当向窗口写入的内容较少时 它的运行速度会更快 但后来 当我向窗口写入更多元素时 window update 需要更长的时间 请参阅下面的我的代码 您可以看到它在更新窗口之前一次向屏幕 100
  • Python,将迭代函数变成递归函数

    我创建了一个输出 4 3 2 1 0 1 2 3 4 的迭代函数 def bounce2 n s n for i in range n print n n n 1 if n lt 0 for i in range s 1 print n n
  • 如何从谷歌云存储桶读取音频文件并在datalab笔记本中使用ipd播放

    我想在数据实验室笔记本中播放我从谷歌云存储桶中读取的声音文件 这个怎么做 import numpy as np import IPython display as ipd import librosa import soundfile as
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 为 Networkx 图添加标题?

    我希望我的代码创建一个带有标题的图 使用下面的代码 可以创建绘图 但没有标题 有人可以告诉我我做错了什么吗 import pandas as pd import networkx as nx from networkx algorithms
  • 如何使用 Python 多处理避免在分叉进程中加载​​父模块

    当您创建一个Pool使用Python的进程multiprocessing 这些进程将分叉 父进程中的全局变量将显示在子进程中 如下面的问题所述 如何限制多处理进程的范围 https stackoverflow com questions 2
  • 杂乱的扭曲连接在不干净的时尚中消失了。没有代理。已经尝试过标题

    我正在尝试抓取这个网站 https www5 apply2jobs com jupitermed ProfExt index cfm fuseaction mExternal searchJobs https www5 apply2jobs
  • 在 matplotlib 中使用 yscale('log') 时缺少误差线

    在某些情况下 当使用对数刻度时 matplotlib 会错误地显示带有误差条的图 假设这些数据 例如在 pylab 内 s 19 0 20 0 21 0 22 0 24 0 v 36 5 66 814250000000001 130 177
  • pip 安装软件包两次

    不幸的是我无法重现它 但我们已经见过几次了 pip 将一个软件包安装两次 如果卸载第一个 第二个就会可见并且也可以被卸载 我的问题 如果一个包安装了两次 如何用 python 检查 背景 我想编写一个测试来检查这一点 devOp Updat
  • 如何在 Python 中从 HTML 页面中提取 URL [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须用Python 编写一个网络爬
  • smooth_idf 是多余的吗?

    The scikit learn 文档 http scikit learn org stable modules generated sklearn feature extraction text TfidfTransformer html
  • 如何强制 Y 轴仅使用整数

    我正在使用 matplotlib pyplot 模块绘制直方图 我想知道如何强制 y 轴标签仅显示整数 例如 0 1 2 3 等 而不显示小数 例如 0 0 5 1 1 5 2 等 我正在查看指导说明并怀疑答案就在附近matplotlib
  • 大型数据集上的 Sklearn-GMM

    我有一个很大的数据集 我无法将整个数据放入内存中 我想在这个数据集上拟合 GMM 我可以用吗GMM fit sklearn mixture GMM 重复小批量数据 没有理由重复贴合 只需随机采样您认为机器可以在合理时间内计算的尽可能多的数据
  • Jupyter Notebook:没有名为 pandas 的模块

    我搜索了其他问题 但没有找到任何有帮助的内容 大多数只是建议您使用 conda 或 pip 安装 pandas 在我的 jupyter 笔记本中 我试图导入 pandas import pandas as pd 但我收到以下错误 Modul
  • 如何设置 matplotlib 表中列的背景颜色

    我在一个目录中有多个 txt 文件 例如 d memdump 0 txt 1 txt 10 txt 示例文本文件如下 Applications Memory Usage kB Uptime 7857410 Realtime 7857410
  • 获取调用者文件的绝对路径

    假设我在不同的目录中有两个文件 1 py 比如说 在C FIRST FOLDER 1 py and 2 py 比如说 在C SECOND FOLDER 2 py 文件1 py进口2 py using sys path insert 0 pa
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D

随机推荐

  • C和C++混合编程

    C和C 混合编程 在很多情况下 C系统中会用到C 的代码 而C 中也会用到C代码 所以在Linux系统下充斥中 h c cpp后缀的代码文件 这样就引入了一个问题 如何让这些代码很好的在一起编译链接 在这几天项目中确实也遇到了相似的问题 把
  • Java之package语句和import语句

    Java之package语句和import语句
  • 机器学习人工智能中的Rubyyy或nay

    Ror是机器学习的最佳选择吗 IS ROR THE BEST CHOICE FOR MACHINE LEARNING Currently we see many web developers and tech enthusiasts tal
  • EXT.JS2.2ajax请求

    ext2 x ext3 x 不支持ajax的同步请求 ext4就开始支持 Ext Ajax request url adapterInfo do invoke queryAdapterDatabases method post params
  • 对于Java封装、继承、多态的新理解

    封装 封装包括两个字 封和装 先是装 后才封 在面向过程语言中 一般数据都是相互独立 例如姓名 年龄 性别这些数据 虽然它们都是在描述一个人 但是它们数据是离散的 这样就不便于数据的传递 例如方法需要的参数为姓名 年龄 性别等一系列参数 那
  • 1.3扩展演练---认识错误(BUG)

    1 3扩展演练 认识错误 BUG 第一个演练中常见的错误 1 gt 手误 例如使用pint hello world NameError name pint is not defined 名称错误 pint 名字没有定义 2 gt 将多条pr
  • java中super的三种用法

    java中super的用法 super只在子类中出现 super有三种用法 1 super xxx xxx可以是类的属性 例如super name 即从子类中获取父类name属性的值 2 super xxx xxx 可以是类中的方法名 su
  • el-select实现懒加载

    先看一个线上的演示示例 https code juejin cn pen 7273352811440504889 背景 我们在实际开发中经常遇到这样的需求 el select实现懒加载 用通俗的话说 为了增加响应速度 就是初始下拉只展示50
  • 「区块链+数字身份」:DID 身份认证的新战场

    美国经济学家布莱恩 阿瑟在其著作 技术的本质 中 写过这么一句话 技术总是进行着这样一种循环 为解决老问题去采用新技术 新技术又引发新问题 新问题的解决又要诉诸更新的技术 区块链技术之所以能流行 部分原因是它能解决互联网时代遗留下的问题 比
  • 手把手教你配置JAVA环境变量、安装IDEA,简单易懂,学会你给我点赞,学不会我给你点赞

    前言 保姆级教程 让你易如睡觉 学不会来叨我 我飞去给你配 如果车票报销的话 手把手教程 别人配置java的痛苦你体会不到 让你边配边笑 新手学java 看完这个就能开写啦 配置java环境 配置java环境就是安装jdk和配置环境变量 安
  • 动态库的链接和链接选项-L,-rpath-link,-rpath【转】

    转自 https my oschina net shelllife blog 115958 链接动态库 如何程序在连接时使用了共享库 就必须在运行的时候能够找到共享库的位置 linux的可执行程序在执行的时候默认是先搜索 lib和 usr
  • CPU的标志寄存器

    1 ZF 零标志位 执行指令后结果为0 ZF 1 否则ZF 0 2 PF 奇偶标识位 它记录相关指令执行后 其结果的所有二进制位中1的个数是否为偶数 如果是偶数 PF 1 否则PF 1 3 SF 符号标识位 它记录相关指令执行后 其结果是否
  • jQuery 入门教程(43): jQuery UI Tooltip 示例

    JQuery tooltip 的基本用法 可以把所有元素的的 title 属性做为Toolbar显示 比如 1 2
  • 云栖大会带热一座城,靠的是什么?

    云栖大会带热一座城 靠的是什么 这几年 每到九十月份 杭州都会热闹一阵子 几万人突然出现在杭州 然后到一个叫云栖小镇的 偏僻 地方开会 好像动物大迁徙 是什么吸引了近6万人从全国各地甚至世界各地赶来 大会的门票也跟明星演唱会那样一票难求 这
  • 微信小程序实现一些优惠券/卡券

    背景 前几周有小伙伴问我如何用css实现一些优惠券 卡券 今天就来分享一波吧 速速来Get吧 文末分享源代码 记得点赞 关注 收藏 1 实现效果 2 实现原理 2 1 实现内凹圆角 假设我们要实现这样的一个效果 两侧透明内圆角 外侧投影 有
  • Unity SpriteAtlas 打图集流程,与遇到的问题和解决方法

    Unity SpriteAtlas 打图集流程 与遇到的问题和解决方法 1 创建图集 2 遇到的问题 3 解决方法 1 创建图集 在unity里面使用SpriteAtlas 把需要用到的游戏贴图资源 创建成对应的图集
  • Spring Boot(七)logback配置

    简介 Java 日志框架众多 常用的有 java util logging log4j logback commons logging logback 是 log4j 框架的作者开发的新一代日志框架 它效率更高 能够适应诸多的运行环境 同时
  • 2分钟理解C++的条件表达式

    今天我们来学习下C 中的条件运算符和条件表达式 说个明白 条件运算符 是C 中唯一的三目运算符 由其构成的表达式称为条件表达式 它是这样的 s1 s2 s3 它的意思就是 如果s1为真 非零 则表达式的结果为s2 否则为s3 对应的if e
  • linux内核电源管理浅析

    一 重启 reboot 应用程序通过reboot系统调用实现机器重启 reboot系统调用定义在kernel sys c文件中 SYSCALL DEFINE4 reboot int magic1 int magic2 unsigned in
  • 【python】错误:UnboundLocalError: local variable ‘XXX‘ referenced before assignment

    topNSuccessor None def reverseTopN self head ListNode right int gt ListNode if right 1 topNSuccessor head next return he