Maison >développement back-end >Tutoriel Python >Pourquoi l'affectation de liste échoue-t-elle avec IndexError en Python et comment puis-je ajouter correctement des éléments ?

Pourquoi l'affectation de liste échoue-t-elle avec IndexError en Python et comment puis-je ajouter correctement des éléments ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 01:37:13478parcourir

Why Does List Assignment Fail with IndexError in Python, and How Can I Append Elements Correctly?

Pourquoi l'attribution de liste échoue avec IndexError : ajout d'éléments correctement

Lorsque vous essayez de créer une liste en attribuant chaque élément individuellement, vous pouvez rencontrer une IndexError. Ce problème survient lorsque vous désignez des indices dans une liste vide qui n'existent pas encore.

Par exemple, considérez le code suivant :

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

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

Lorsque vous exécutez ce code, vous allez obtenez une erreur "IndexError : index d'affectation de liste hors plage". Pour résoudre ce problème, vous devez utiliser la méthode append() pour ajouter des éléments à la fin de la liste :

for l in i:
    j.append(l)

Cependant, si vous désirez un comportement de type tableau, vous pouvez pré-remplir votre liste avec des valeurs None, puis les écraser à des indices spécifiques :

i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
k = 0

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

En conclusion, les listes Python nécessitent des indices préexistants pour l'affectation et proposent la méthode append() pour une extension facile. Pour émuler un tableau, vous pouvez créer manuellement une liste avec des espaces réservés Aucun, puis attribuer des valeurs par index.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn