1. 程式人生 > 其它 >解決:python 出現 list assignment index out of range 錯誤

解決:python 出現 list assignment index out of range 錯誤

解決:python 出現 list assignment index out of range 錯誤

異常:

Traceback (most recent call last):
File "C:/pythonProject02/new.py", line 12, in
username[i], password[i] = data[i].split('|')
IndexError: list assignment index out of range

程式碼:

username = []
password = []
with open('userinfo.txt', 'r', encoding='utf8') as f:
	data = f.readlines()
for i in range(len(data)):
	username[i], password[i] = data[i].split('|')

分析:

list assignment index out of range:列表超過限制

可能就是傳說中的下標越界吧,仔細觀察發現一開始建立username和password變數的時候裡面沒有元素,所以當下面 for 迴圈中 i 不論等於幾,都會出現下標越界,

所以只要使用 .append() 方法,在列表末尾新增單個元素就可以了

username = []
password = []
with open('userinfo.txt', 'r', encoding='utf8') as f:
    data = f.readlines()
for i in range(len(data)):
    username.append(data[i].split('|')[0])
    password.append(data[i].split('|')[1])

一開始只是想著可以使用解壓賦值將兩行合併成一行,沒想到會出現下標越界這種錯誤,還是自己不夠嚴謹。

如有錯漏,歡迎指正和補充