Python 2.7 Python索引错误超出范围
我需要为不同的部门轮流分配座位,但当我尝试这样做时,我会出错 下面我粘贴了代码:Python 2.7 Python索引错误超出范围,python-2.7,Python 2.7,我需要为不同的部门轮流分配座位,但当我尝试这样做时,我会出错 下面我粘贴了代码: #matrix for dept1 X = [111, 222, 333, 444, 555, 666, 777 ,888, 999, 123, 234,345] #matrix for dept2 Y = [1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999,9876, 8765,7654] #empty class room which consist of
#matrix for dept1
X = [111, 222, 333, 444, 555, 666, 777 ,888, 999, 123, 234,345]
#matrix for dept2
Y = [1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999,9876, 8765,7654]
#empty class room which consist of 18 students
class_room = [[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]]
ca = 0
pa = 0
print 'combining dept1 and dept2 in alternative manner'
for i in range(5):
for j in range(25):
if j%2 == 0:
class_room[i][j] = X[pa]
pa += 1
else:
class_room[i][j] = Y[ca]
ca += 1
print class_room
#error - Traceback (most recent call last):
# File "C:\Users\SONY\workspace\mine\taest3.py", line 24, in <module>
# class_room[i][j] = X[pa][pa]
#IndexError: list index out of range
#dept1的矩阵
X=[11122233344455666677778999123234345]
#dept2的矩阵
Y=[111122233344445555566667777888999987687687654]
#由18名学生组成的空教室
教室=[[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0],
[0,0,0,0,0]]
ca=0
pa=0
打印“以替代方式组合dept1和dept2”
对于范围(5)中的i:
对于范围(25)内的j:
如果j%2==0:
教室[i][j]=X[pa]
pa+=1
其他:
教室[i][j]=Y[ca]
钙离子=1
打印教室
#错误-回溯(最近一次呼叫上次):
#文件“C:\Users\SONY\workspace\mine\taest3.py”,第24行,在
#教室[i][j]=X[pa][pa]
#索引器:列表索引超出范围
请帮助我纠正和清除。您在范围(25)中循环了j的
,但是您没有25个元素长的元素。相反,请执行以下操作:
for i in range(5):
for j in range(5): # DIFFERENT
if (5 * i + j) % 2 == 0: # ALSO DIFFERENT
class_room[i][j] = X[pa]
pa += 1
else:
class_room[i][j] = Y[ca]
ca += 1
请注意,这将引入一个新的索引器,因为您有25个教室,X
和Y
组合中只有24个条目。将另一个元素添加到X
中,代码将运行。乐意帮忙。如果这是特别有用的,我鼓励你投赞成票。