解決:python 出現 list assignment index out of range 錯誤
阿新 • • 發佈:2022-03-14
解決: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])
一開始只是想著可以使用解壓賦值將兩行合併成一行,沒想到會出現下標越界這種錯誤,還是自己不夠嚴謹。
如有錯漏,歡迎指正和補充