Python Indexerror: list assignment index out of range 解决方法
在Python中,列表是可变的,因为列表的元素可以被修改。但是如果你试图修改一个索引大于或等于列表长度的值,那么你会遇到一个 Indexerror: list assignment index out of range。
Python Indexerror:列表赋值索引超出范围示例
如果 'fruits' 是一个列表,fruits=['Apple','Banana','Guava'] 并且您尝试修改 fruits[5] 那么您将得到一个索引错误,因为 fruits list=3 的长度小于比要求修改的索引为 5。
Python3
# list of fruits
fruits = ['Apple', 'Banana', 'Guava']
# to check type of fruits
print("Type is", type(fruits))
fruits[5] = 'Mango'
Python3
fruits = ['Apple', 'Banana', 'Guava']
print("Original list:", fruits)
fruits.insert(1, "Mango")
print("Modified list:", fruits)
Python3
fruits = ['Apple', 'Banana', 'Guava']
print("Original list:", fruits)
fruits.append("Mango")
print("Modified list:", fruits)
输出:
Traceback (most recent call last):
File "/example.py", line 3, in
fruits[5]='Mango'
IndexError: list assignment index out of range
因此,正如您在上面的示例中所看到的,当我们尝试修改水果列表中不存在的索引时会出现错误。
Python Indexerror: list assignment index out of range 解决方法
方法一:使用 insert()函数
insert(index, element)函数接受两个参数,index 和 element,并在指定的索引处添加一个新元素。
让我们看看如何将 Mango 添加到索引 1 的水果列表中。
Python3
fruits = ['Apple', 'Banana', 'Guava']
print("Original list:", fruits)
fruits.insert(1, "Mango")
print("Modified list:", fruits)
输出:
Original list: ['Apple', 'Banana', 'Guava']
Modified list: ['Apple', 'Mango', 'Banana', 'Guava']
必须在 insert(index, element)函数中指定索引,否则会报错 insert(index, element)函数需要两个参数。
方法 2:使用 append()
append(element)函数接受一个参数元素并在列表末尾添加一个新元素。
让我们看看如何使用 append(element)函数将 Mango 添加到列表的末尾。
Python3
fruits = ['Apple', 'Banana', 'Guava']
print("Original list:", fruits)
fruits.append("Mango")
print("Modified list:", fruits)
输出:
Original list: ['Apple', 'Banana', 'Guava']
Modified list: ['Apple', 'Banana', 'Guava', 'Mango']