关于Python 中IndexError:list assignment index out of range 错误解决
作者:迹忆客 发布时间:2021-01-27 19:06:01
在 Python 中,当您尝试访问甚至不存在的列表的索引时,会引发 IndexError: list assignment index out of range。 索引是可迭代对象(如字符串、列表或数组)中值的位置。
在本文中,我们将学习如何修复 Python 中的 Index Error list assignment index out-of-range 错误。
Python IndexError:列表分配索引超出范围
让我们看一个错误的例子来理解和解决它。
代码示例:
# error program --> IndexError: list assignment index out of range
i = [7,9,8,3,7,0] # index range (0-5)
j = [1,2,3] # index range (0-3)
print(i,"\n",j)
print(f"\nLength of i = {len(i)}\nLength of j = {len(j)}" )
print(f"\nValue at index {1} of list i and j are {i[1]} and {j[1]}")
print(f"\nValue at index {3} of list i and j are {i[3]} and {j[3]}") # error because index 3 isn't available in list j
输出:
上面代码中 IndexError: list assignment index out of range 背后的原因是我们试图访问索引 3 处的值,这在列表 j 中不可用。
修复 Python 中的 IndexError: list assignment index out of range
要修复此错误,我们需要调整此案例列表中可迭代对象的索引。 假设我们有两个列表,你想用列表 b 替换列表 a。
代码示例:
a = [1,2,3,4,5,6]
b = []
k = 0
for l in a:
b[k] = l # indexError --> because the length of b is 0
k += 1
print(f"{a}\n{a}")
输出:
IndexError: list assignment index out of range
您不能为列表 b 赋值,因为它的长度为 0,并且您试图在第 k 个索引 b[k] = I 处添加值,因此它会引发索引错误。 您可以使用 append()
和 insert()
修复它。
修复 IndexError: list assignment index out of range 使用 append() 函数
append() 函数在列表末尾添加项目(值、字符串、对象等)。 这很有帮助,因为您不必处理索引问题。
代码示例:
a = [1,2,3,4,5,6]
b = []
k = 0
for l in a:
# use append to add values at the end of the list
j.append(l)
k += 1
print(f"List a: {a}\nList b: {a}")
输出:
List a: [1, 2, 3, 4, 5, 6]
List b: [1, 2, 3, 4, 5, 6]
修复 IndexError: list assignment index out of range 使用 insert() 函数
insert()
函数可以直接将值插入到列表中的第 k 个位置。 它有两个参数,insert(index, value)。
代码示例:
a = [1, 2, 3, 5, 8, 13]
b = []
k = 0
for l in a:
# use insert to replace list a into b
j.insert(k, l)
k += 1
print(f"List a: {a}\nList b: {a}")
输出:
List a: [1, 2, 3, 4, 5, 6]
List b: [1, 2, 3, 4, 5, 6]
除了上述两种解决方案之外,如果你想像对待其他语言中的普通数组一样对待 Python 列表,你可以使用 None 值预定义你的列表大小。
代码示例:
a = [1,2,3,4,5,6]
b = [None] * len(i)
print(f'Length of a: {len(a)}')
print(f'Length of b: {len(b)}')
print(f"\n{a}\n{b}")
输出:
Length of a: 6
Length of b: 6[1, 2, 3, 4, 5, 6]
[None, None, None, None, None, None]
一旦你用虚拟值 None 定义了你的列表,你就可以相应地使用它。
来源:https://blog.csdn.net/fengqianlang/article/details/130684210
猜你喜欢
- 如何用SQL 建表? 如下:CREATE TABLE statement
- 为了方便使用分类,我定义了一个分类表category,里面字段是id(自动编号) cat_name(分类名) pare
- 一、mongodb安装在官网下载适应于自己平台的mongodb,在此安装环境为Windows7-64bit下载完成后直接安装,连续点击nex
- Summary主要包括以下三种途径:使用独立的函数;使用torch.type()函数;使用type_as(tesnor)将张量转换为给定类型
- #设a为字符串import timea = "2011-09-28 10:00:00"#中间过程,一般都需要将字符串转化
- 之前我们已经安装了lnmp的环境,现在让我们来安装phpmyadmin。跟前一样,yum默认的库里是没有phpmyadmin的,我们需要从e
- 用于绘制直线的line函数;用于绘制椭圆的ellipse函数;用于绘制矩形的rectangle函数;用于绘制圆的circle函数;用于绘制填
- 新闻系统,相册系统可以用用哦,简单实用,有兴趣的可以自己扩充!^_^相册截图:<?xml version="1.0"
- XMLHttpRequest 最近在 W3C 标准之路上又迈进了一步,W3C Web API&nbs
- 实例如下所示:# -*- coding:utf-8 -*-__author__ = 'kingking'__version_
- 本文实例为大家分享了python正则实现计算器功能的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*- # A
- 方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\")方
- 阅读上一章:Css布局Chapter 13 为文字指定样式我想以一章的篇幅来讨论用CSS设定文字样式的做法是个好点子.一般处理文字内容大概是
- 这篇文章主要介绍了python实现windows桌面截图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 便携文档格式 (PDF) 是由 Adobe 开发的格式,主要用于呈现可打印的文档,其中包含有 pixel-perfect 格式,嵌入字体以及
- PDOStatement::getAttributePDOStatement::getAttribute — 检索一个语句属性(PHP 5
- 为什么要指定swagger的api参数api的参数有多种类型:query 参数,如 /users?role=adminpath 参数,如 /
- 我就废话不多说了,直接上代码吧!#-*- encoding:utf-8 -*-'''python 绘制颜色直方图
- 你知道SQL Server这么庞大的企业级数据库服务器产品是如何build出来的吗?这有些相关的数据:每个build 的大小在300GB左右
- 队列queue 多应用在多线程应用中,多线程访问共享变量。对于多线程而言,访问共享变量时,队列queue是线程安全的。从queue队列的具体