返回顶部
首页 > 资讯 > 后端开发 > Python >Python报错及解决:IndexError: list index out of range
  • 371
分享到

Python报错及解决:IndexError: list index out of range

python 2023-09-04 08:09:16 371人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python报错及解决:IndexError: list index out of range 报错解释 该报错是由于超出list范围导致 解决方式 索引前先查询list范围, 或用if idx in

python报错及解决:IndexError: list index out of range

报错解释

该报错是由于超出list范围导致

解决方式

  1. 索引前先查询list范围, 或用if idx in range(len(test_list))判断索引是否在列表list的范围内:
if idx in range(len(test_list)):print(test_list[idx])else:print(f"{idx} exceed list range:{test_list}") # 超出list范围
  1. 多个判断条件是先定义好边界情况再进入其他情况
  • 下图 if 的4个循环中,如果先进行正常判断,再讨论边界,则在前两个if循环中就可能出现IndexError: list index out of range报错,此时调整 if 顺序,先定义好边界就能解决该报错
        while a >= 0 or b < n:  #只要满足其中一个条件,就可以接着填数;不满足某个条件是因为该组以达到边界            if a < 0: #负数组已达到边界,后续就是正数组往后加                ans.append(nums[b]*nums[b])                  b += 1            elif b >= n: #正数组已达到边界,后续就是负数组往后加                ans.append(nums[a]*nums[a])                a -= 1            #需要先把边界情况定义好,否则可能会出现IndexError: list index out of range的报错            elif nums[a]*nums[a] <= nums[b]*nums[b]: #则先将a放入新数组                ans.append(nums[a]*nums[a])                a -= 1            elif nums[a]*nums[a] > nums[b]*nums[b]: #则先将b放入新数组                ans.append(nums[b]*nums[b])                  b += 1        return ans

来源地址:https://blog.csdn.net/HHVicky/article/details/129122419

--结束END--

本文标题: Python报错及解决:IndexError: list index out of range

本文链接: https://lsjlt.com/news/393211.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作