解决: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])
一开始只是想着可以使用解压赋值将两行合并成一行,没想到会出现下标越界这种错误,还是自己不够严谨。
如有错漏,欢迎指正和补充