基本上我想创建一些输出新创建列表的东西。
def map(mines, layers):
mine_distance = []
mine_sector = []
for i in range(layers):
if mines[i][0] != 0 and mines[i][1] != 0:
mine_distance.append(mine_distance[i][0])
mine_sector.append(mine_sector[i][1])
print(mine_distance, mine_sector)
map([[2, 4], [2, 1]], 5)
但是我得到了这个错误:
IndexError:列表索引超出范围
输出应为:
[2,2] [4,1]
有人可以帮帮我吗?
答案 0 :(得分:0)
我想它应该更正为:
mine_distance.append(mines[i][0])
mine_sector.append(mines[i][1])
之前您尝试访问(mine_distance.append(mine_distance[i][0])
,此时此时为空)元素空列表,从而导致IndexOutOfBounds
错误。< / p>
IndexOutOfBounds
错误的另一个原因是len(mines)
和layers
中的不平等,您应该传递layer
参数= len(mines)
,或者您应该更改循环为for i in range(len(mines)):