Maison >développement back-end >Tutoriel Python >Comment éviter IndexError lors de l'attribution à des éléments de liste en Python ?

Comment éviter IndexError lors de l'attribution à des éléments de liste en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-19 17:05:17446parcourir

How to Avoid IndexError When Assigning to List Elements in Python?

Correction de l'IndexError lors de l'attribution des éléments de liste

En essayant de créer une liste en attribuant de manière itérative ses éléments, vous pouvez rencontrer une IndexError lors de l'utilisation syntaxe d'affectation telle que j[k] = l. Cette erreur survient car la liste de destination j est initialement vide et n'a aucun élément à attribuer.

Pour résoudre ce problème et ajouter des éléments à j sans déclencher une erreur d'index hors plage, vous pouvez utiliser l'option append méthode de l’objet liste. Cette méthode prend un seul argument, l'élément à ajouter à la fin de la liste, et modifie la liste sur place.

Voici un exemple utilisant la méthode append :

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

for l in i:
    j.append(l)

Alternativement , si vous souhaitez créer une liste en copiant des éléments individuels d'une autre liste, vous pouvez utiliser le constructeur de liste avec la liste existante comme argument :

j = list(i)

Enfin, il est possible de pré-créer une liste avec une longueur spécifique et de l'initialiser avec des valeurs nulles avant d'attribuer des éléments à ses indices. Cette approche est similaire à la gestion des tableaux dans d'autres langages de programmation :

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

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

N'oubliez pas qu'une liste Python ne permet pas d'attribuer des valeurs à des indices qui n'existent pas. L'utilisation des méthodes appropriées telles que l'ajout ou le constructeur de liste, ou la pré-création d'une liste avec la longueur souhaitée, garantit une création et une modification correctes de la liste.

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