将列表中的元素分配给数组

时间:2017-07-11 04:42:25

标签: python arrays list

这是我的程序

horas= str(raw_input())
horas=horas.split(' ',horas.count(' '))
print horas
array=[
    [0,0],
    [0,0]
]
i=0
for row in range(2):
    for column in range (2):
        array[row][column]=horas[i]
        i+=1
    i+=1

我成功地将给定的sting变成了一个列表,但我试图将horas [0]中的对象分配给array [0] [0],horas [1]分配给array [0] [1]等。它不断向我显示'列表索引超出范围'错误消息。帮助

2 个答案:

答案 0 :(得分:2)

所以外部'for'的i + 1让索引超出范围抱歉我的坏lol

答案 1 :(得分:0)

如果你有一个函数l2a(列表到数组位置),它接受列表位置和数组的维度并返回该列表位置的x和y,你可以写:

    for pos, value in enumerate(horas):
        x, y = l2a(pos, 2, 2)
        array[x][y] = value

现在你只需编写l2a就可以设置任何数组大小。 (提示,请使用//%运算符。)