Why does this iterative list-growing code give IndexError: list assignment index out of range?

后端 未结 9 1955
慢半拍i
慢半拍i 2020-11-22 07:34

Please consider the following code:

i = [1, 2, 3, 5, 8, 13]
j = []
k = 0

for l in i:
    j[k] = l
    k += 1

print j

The output (Python 2

9条回答
  •  长情又很酷
    2020-11-22 08:18

    You could use a dictionary (similar to an associative array) for j

    i = [1, 2, 3, 5, 8, 13]
    j = {} #initiate as dictionary
    k = 0
    
    for l in i:
        j[k] = l
        k += 1
    
    print j
    

    will print :

    {0: 1, 1: 2, 2: 3, 3: 5, 4: 8, 5: 13}
    

提交回复
热议问题