📜  Python Indexerror: list assignment index out of range 解决方法

📅  最后修改于: 2022-05-13 01:55:41.548000             🧑  作者: Mango

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']