Python 3.6“;索引器:列表索引超出范围“;
有人能告诉我我的错误吗Python 3.6“;索引器:列表索引超出范围“;,python,python-3.x,index-error,Python,Python 3.x,Index Error,有人能告诉我我的错误吗 realpair = input("") realpairfinal = [] rp = list(realpair) print(rp[0],rp[1]) for i in range(0, len(realpair)): a = [] v1 = rp[0] v2 = rp[1] rp.pop(0) rp.pop(0) a.append(v1) a.append(v2) realpairfinal.appe
realpair = input("")
realpairfinal = []
rp = list(realpair)
print(rp[0],rp[1])
for i in range(0, len(realpair)):
a = []
v1 = rp[0]
v2 = rp[1]
rp.pop(0)
rp.pop(0)
a.append(v1)
a.append(v2)
realpairfinal.append(a)
pair = realpairfinal
pair2 = realpairfinal
print(realpairfinal)
如果我的输入是123456,realpairfinal应该是[[1,2][3,4][5,6]],但它告诉我:
1 2
Traceback (most recent call last):
v1 = rp[0]
IndexError: list index out of range
从长度中减去三。输出:['1','2',['3','4',['5','6']]
pairs = [list(realpair[i:i+2]) for i in range(0, len(realpair), 2)]
这是使用构造列表,而不是创建空列表,然后向其添加元素
我使用长度为2的子字符串,使用list()将其转换为字符列表,然后将其添加到外部列表(使用列表理解)这是什么意思,我在python中从未见过这样的代码。你能解释一下吗?但我感谢你在这一系列末尾的2个。。那是我的错,走吧^^是的,谢谢,这是对的,但我没有进行减法,而是对范围内的I(0,len(realpair),2)进行了
,
这似乎是一种更通用的记录方法,因此系统也可以获得更多或更少的输入
pairs = [list(realpair[i:i+2]) for i in range(0, len(realpair), 2)]