j
est une liste vide, mais vous essayez d'écrire dans l'élément [0]
dans la première itération, qui n'existe pas encore.
Essayez plutôt ce qui suit pour ajouter un nouvel élément à la fin de la liste:
for l in i:
j.append(l)
Bien sûr, vous ne feriez jamais cela en pratique si vous ne vouliez que copier une liste existante. Vous feriez juste:
j = list(i)
Sinon, si vous souhaitez utiliser la liste Python comme un tableau dans d'autres langages, vous pouvez pré-créer une liste avec ses éléments définis sur une valeur nulle ( None
dans l'exemple ci-dessous), et plus tard, écraser les valeurs dans des positions spécifiques:
i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
k = 0
for l in i:
j[k] = l
k += 1
La chose à réaliser est qu'un list
objet ne vous permettra pas d'attribuer une valeur à un index qui n'existe pas.
append
est la bonne solution pour votre cas d'utilisation, mais il existe une méthode d'insertion sur la liste python qui peut s'insérer directement à la i'ème position dans la liste.j.insert(k, l)