解决: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])

一开始只是想着可以使用解压赋值将两行合并成一行,没想到会出现下标越界这种错误,还是自己不够严谨。

如有错漏,欢迎指正和补充


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM