然而,当我们尝试访问一个超出列表范围的索引时,就会引发IndexError。这个错误不仅会导致程序中断,还可能隐藏更深层次的逻辑错误。为了保证代码的健壮性,了解如何避免和处理这个错误是非常必要的。...正文内容 什么是IndexError? IndexError是Python中的一种常见异常,通常在尝试通过无效索引访问列表或其他序列类型时引发。...动态生成的索引值出错 当索引是通过计算得出时,如果计算错误,索引可能会超出范围: index = 10 my_list = [1, 2, 3] print(my_list[index]) 如何解决IndexError...答:IndexError 通常在访问列表或数组时索引超出了有效范围。常见原因包括索引计算错误、循环范围设置不当或访问空列表。 问:如何预防IndexError?...,确保在有效范围内 无效的硬编码索引 试图访问不存在的元素 在访问元素前使用条件语句或try-except进行检查 未来展望 在未来,我们可以通过更智能的IDE提示、静态代码分析工具和单元测试来进一步减少
FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失败的时候 IndexError 索引超出序列的范围...KeyError 字典中查找一个不存在的关键字 KeyboardInterrupt 用户输入中断键(Ctrl+c) MemoryError 内存溢出(可通过删除对象释放内存) NameError 尝试访问一个不存在的变量...不同类型间的无效操作 UnboundLocalError 访问一个未初始化的本地变量(NameError的子类) UnicodeError Unicode相关的错误(ValueError的子类) UnicodeEncodeError...Unicode编码时的错误(UnicodeError的子类) UnicodeDecodeError Unicode解码时的错误(UnicodeError的子类) UnicodeTranslateError...Unicode转换时的错误(UnicodeError的子类) ValueError 传入无效的参数 ZeroDivisionError 除数为零 以下是 Python 内置异常类的层次结构:
导入模块失败的时候 IndexError 索引超出序列的范围 KeyError 字典中查找一个不存在的关键字 KeyboardInterrupt 用户输入中断键(Ctrl...+c) MemoryError 内存溢出(可通过删除对象释放内存) NameError 尝试访问一个不存在的变量 NotImplementedError 尚未实现的方法 OSError...不同类型间的无效操作 UnboundLocalError 访问一个未初始化的本地变量(NameError的子类) UnicodeError Unicode相关的错误(ValueError的子类...) UnicodeEncodeError Unicode编码时的错误(UnicodeError的子类) UnicodeDecodeError Unicode解码时的错误(UnicodeError...的子类) UnicodeTranslateError Unicode转换时的错误(UnicodeError的子类) ValueError 传入无效的参数 ZeroDivisionError
+d) FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失败的时候 IndexError...索引超出序列的范围 KeyError 字典中查找一个不存在的关键字 KeyboardInterrupt 用户输入中断键(Ctrl+c) MemoryError 内存溢出(可通过删除对象释放内存)...NameError 尝试访问一个不存在的变量 NotImplementedError 尚未实现的方法 OSError 操作系统产生的异常(例如打开一个不存在的文件) OverflowError...SystemExit Python编译器进程被关闭 TypeError 不同类型间的无效操作 UnboundLocalError 访问一个未初始化的本地变量(NameError的子类) UnicodeError...解码时的错误(UnicodeError的子类) UnicodeTranslateError Unicode转换时的错误(UnicodeError的子类) ValueError 传入无效的参数 ZeroDivisionError
(gh-15886) 即使索引结果为空,也会报告索引错误 今后,当整数数组索引包含超出边界值时,NumPy 将引发 IndexError,即使未索引的维度长度为 0。...(gh-16815) 具有不匹配形状的布尔数组索引现在会正确地给出IndexError 以前,如果布尔数组索引与被索引数组的大小匹配但形状不匹配,则在某些情况下会被错误地允许。...(gh-15886) 即使索引结果为空,索引错误也将被报告 将来,当整数数组索引包含超出边界值时,NumPy 将引发 IndexError,即使非索引维数的长度为 0。...(gh-15886) 即使索引结果为空,也将报告索引错误 未来,当整数数组索引包含超出范围值时,NumPy 将引发 IndexError,即使非索引维度的长度为 0。 现在将会发出弃用警告。...(gh-16815) 具有不匹配形状的布尔数组索引现在会正确返回IndexError 以前,如果布尔数组索引与索引数组的大小匹配但形状不匹配,则在某些情况下会出现错误。
ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素...,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按下 NameError 尝试访问一个没有申明的变量 SyntaxError Python...OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError...Tab 和空格混用 SystemError 一般的解释器系统错误 TypeError 对类型无效的操作 ValueError 传入无效的参数 UnicodeError Unicode...相关的错误 UnicodeDecodeError Unicode 解码时的错误 UnicodeEncodeError Unicode 编码时错误 UnicodeTranslateError
) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl...+C被按下 NameError 尝试访问一个没有申明的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了) TypeError 传入对象类型与要求的不符合...UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 ValueError 传入一个调用者不期望的值,即使值的类型是正确的...IndexError 序列中没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError...缩进错误 TabError Tab 和空格混用 SystemError 一般的解释器系统错误 TypeError 对类型无效的操作 ValueError 传入无效的参数 UnicodeError
它们都表示尝试访问数组中不存在的元素。 常见情况 超出数组边界: 最常见的情况是尝试使用超出数组有效下标范围的索引来访问数组元素。...尝试使用负数索引也可能引发数组越界异常。...my_list = [1, 2, 3] value = my_list[-1] # 尝试使用负数索引访问最后一个元素,可能会引发异常 1.2 内存访问错误 内存访问错误概述 内存访问错误是一种更底层的问题...常见情况 使用无效指针: 使用指针来访问内存地址时,如果指针指向无效的内存位置,就会导致内存访问错误。...未定义行为通常发生在以下情况下: 使用未初始化的变量: 如果尝试读取未初始化的变量的值,编程语言规范通常没有明确定义的行为。
8.200 bit的RDKit描述符(RDKit-d),一组构象无关描述符,可以是从分子的符号表示中获得的实验描述符或理论描述符。...9.RDKit指纹(the RDKit fingerprint, RDKit-f),1024 bit的哈希子结构或路径指纹。...2.4 模型表现评估 作者主要采用5个评估指标评估模型的性能,包括:ROC曲线下面积AUC、F1分数、平衡准确率(balanced accuracy, BA)和马修斯相关系数(Matthews correlation...使用RF算法的前5个共识模型在测试集上达到的平均AUC为75.4%,平均BA为69.8%;而使用XGBoost算法的前五个共识模型在测试集上可以达到的平均AUC为75.4%,平均BA为6.92%。...在基于单个描述符的模型中,使用RF算法在测试集上仅达到的AUC为75.4±0.5,BA为67.0±0.4%;而使用XGBoost算法在测试集上达到的AUC为73.7±1.0%,BA为66.2±0.5%。
所有数值计算错误的基类 \ FloatingPointError 浮点计算错误 这个错误由导致错误的浮点操作产生,前提是已经打开了浮点异常控制(fpectl),启用fpectl时,要求编译解释器提供...with-fpectl标志,但是标准文档中不提倡使用fpectl OverflowError 数值运算超出最大限制 当一个算术运算超出变量类型的界限时,会产生 ZeroDivisionError 除(或取模...LookupError 无效数据查询的基类 \ IndexError 序列中没有此索引(index) 如果索引超出范围,就会产生IndexError KeyError 映射中没有这个键 如果没有找到一个值作为字典的键...如果错误发生在解释器本身,会产生 TypeError 对类型无效的操作 使用+拼接的时候 必须使用字符串,或者将数字转化成字符串 ValueError 传入无效的参数 如果一个函数接收到的值类型正确,但是值不合法时产生...as e: # 捕捉索引异常的子异常,注意,这里的as e在老版本的py中可以写成,e但是新版本中用as e,",e"未来可能会淘汰 print("IndexError:",e) except
使用if语句时,需要注意以下几点。 条件判断语句应尽量简单,若语句复杂则应当将运算先放到一个变量中。 Python的条件语句中允许常用的数值比较运算(==,!=,>,>=,计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行。...Python中定义的异常类型大致分为数值计算错误、操作系统错误、无效数据查询、Unicode相关的错误和警告等几类,如下所示。...:系统调用失败 ImportError:导入模块/对象失败 KeyboardInterrupt:用户中断执行 LookupError:无效数据查询的基类 IndexError:序列中没有此索引 KeyError...try部分包含一个尝试执行的代码块,except部分是特定异常的处理对策,else部分则在程序运行正常时执行。
: 浮点计算错误 GeneratorExit: generator.close()方法被调用的时候 ImportError: 导入模块失败的时候 IndexError: 索引超出序列的范围 KeyError...: 字典中查找一个不存在的关键字 KeyboardInterrupt: 用户输入中断键(Ctrl+c) MemoryError: 内存溢出(可通过删除对象释放内存) NameError: 尝试访问一个不存在的变量...TypeError: 不同类型间的无效操作 UnboundLocalError: 访问一个未初始化的本地变量(NameError的子类) UnicodeError: Unicode相关的错误(ValueError...的子类) UnicodeTranslateError: Unicode转换时的错误(UnicodeError的子类) ValueError: 传入无效的参数 ZeroDivisionError: 除数为零..., 不知道什么错误") # 使用as语句, 将错误赋值给变量e except Exception as e: print(f"不知道什么错误: {e}") else: print("代码块没有异常
图1B展示了5个头的图注意力机制的示意图。图形特征,即GAT的输入,存储在节点特征矩阵和邻接矩阵中。对于每个分子,根据RDKit中的分子图使用SMILES序列生成节点特征矩阵和邻接矩阵。...由于每个节点具有固定数量的邻居节点,因此可以利用这些特征进行图注意力机制的训练和更新。每个节点代表一个原子,节点特征是基于其对应的基于原子的属性使用RDKit构建的。...这些信息也是从RDKit中计算得出的。 实验部分 表 2 作者评估了模型,该模型使用基于SMILES的Morgan指纹和基于结构的图注意机制来预测抗生素活性。...在这项工作中,使用AUC、准确度、精确度、召回率和F1分数等性能指标来评估性能。考虑到5折交叉验证,表2列出了结果。可以看到,FinGAT模型获得了最佳性能。...作者使用了梯度提升树(GBT)模型,并研究了来自RDKit软件的八种不同类型的广泛使用的2D指纹,包括Avalon、Daylight、Estate1、Estate2、MACCS、Pharm2D、ERG和
异常类型 IndexError IndexError 是 Python 中的一个标准异常类型,它会在你尝试访问序列(如列表、元组、字符串等)的索引超出其有效范围时引发。...在实际开发中,当处理列表、元组、字符串等序列类型时,应该始终注意索引的有效性,以避免引发 IndexError 异常。...如果可能的话,可以使用条件语句来检查索引是否在有效范围内,或者使用异常处理来捕获并处理 IndexError 异常。 运行结果 当运行上述代码时,Python 解释器会尝试执行 try 块中的代码。...在尝试访问 my_list[3] 时,由于 my_list 列表只有三个元素(索引为 0, 1, 2),索引 3 超出了列表的有效范围。因此,Python 解释器会引发 IndexError 异常。...这种异常通常发生在函数内部,当你尝试在变量赋值之前就使用它时。
Traceback (most recent call last): File "", line 1, in KeyError: 'six' >>> nameerror尝试访问一个不存在的变量...assert语句失败 AttributeError 特性应用或赋值时引发(试图访问一个对象没有的属性) IOError 试图打开不存在的文件或者无全新的文件等操作时...,就会引发(输入输入异常,基本是无法打开文件) ImportError 无法引入模块或包,基本是路径问题 IndexError 在使用系列中不存在的索引时引发(...使用一个未被赋予对象的变量 SyntaxError Python代码逻辑语法出错不能执行 TypeError 传入的对象类型与要求不符 UnboundLocalError...试图访问一个还未被设置的全局变量,基本上是由于另有一个同名的全局变量 ValueError 传入一个不被期望的值,即使类型正确 ZeroDivisonError 在除数为零发生的一个异常
如果错误发生的情况是可以预知的,那么就可以使用流程控制进行预防处理 ```python #比如: 两个数字的运算,其中一个不是数字,运算就会出错。...如果错误的发生条件不可预知,就可以使用 try。。。except。。...可以在文件读取前先判断当前的文件是否存在 # 2。也可以使用try 。。。 except。。在错误发生时进行处理 try: with open('....| | IndexError | 序列中没有此索引(index) | | KeyError...NameError | 未声明/初始化对象 (没有属性) | | UnboundLocalError | 访问未初始化的本地变量
如果错误发生的情况是可以预知的,那么就可以使用流程控制进行预防处理 ```python #比如: 两个数字的运算,其中一个不是数字,运算就会出错。...如果错误的发生条件不可预知,就可以使用 try。。。except。。...可以在文件读取前先判断当前的文件是否存在 # 2。也可以使用try 。。。 except。。在错误发生时进行处理 try: with open('.... | | IndexError | 序列中没有此索引(index) | | KeyError...NameError | 未声明/初始化对象 (没有属性) | | UnboundLocalError | 访问未初始化的本地变量
所有的内建标准异常的基类 ArithmeticError 所有数值计算错误的基类 FloatingPointError 浮点计算错误 OverflowError 数值运算超出最大限制 ZeroDivisionError...IOError 输入/输出操作失败 OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError...访问未初始化的本地变量 ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象 RuntimeError 一般的运行时错误 NotImplementedError...对类型无效的操作 ValueError 传入无效的参数 UnicodeError Unicode 相关的错误 UnicodeDecodeError Unicode 解码时的错误 UnicodeEncodeError...而只有不报错时,else中的语句才会被执行 ----
a) MT-MTR(分子-文本多任务回归)数据集的构建。从DrugBank和ChEBI中获得代表性分子,然后使用RDKit计算每个分子的209个性质。...从DrugBank和ChEBI中获取分子,然后使用RDKit得到SMILES,并删除重复数据和进行规范化。 步骤2:计算分子性质。对于上一步获得的每个分子,使用RDKit计算209个性质。...在将MolTailor应用于下游任务时,使用GPT-4对具体任务进行分析,生成相应的任务描述,如图1e所示,提示GPT生成模仿预训练语料库中描述格式的描述,限制它只能从RDKit支持的集合中选择属性的名称...如表1所示,将多个分类预测和回归预测作为任务,分类任务将ROC-AUC(越高越好)作为指标,回归任务将均方根误差(RMSE,越低越好)或平均绝对误差(MAE,越低越好)作为指标进行对比,其中MolTailor...图3 可视化 本文提出了分子表示学习的新视角,也就是不再尝试将更多信息合并到表示中,而是通过组合上下文信息获得更多特定于任务的表示。
领取专属 10元无门槛券
手把手带您无忧上云