Forum Python

Fil d’Ariane du forum – Vous êtes ici :ForumLangage Python: Langage PythonErreur avec la méthode insert()
Please or S’enregistrer to create posts and topics.

Erreur avec la méthode insert()

Salut,
Je veux insérer un élément (le nombre 4) à l'index 2 de ma liste. Voici ce que j’ai écrit :

nums = [1, 2, 3]
nums.insert(*2, 4)

Mais j’obtiens cette erreur :
TypeError: insert() argument after * must be a sequence, not int
Je ne comprends pas cette erreur. Pourquoi ça ne marche pas ?

Bonjour tabadou,

L’erreur provient de l’utilisation incorrecte de l’opérateur *. L’opérateur * est utilisé pour décompresser des séquences (listes, tuples, etc.) dans une fonction, mais ici, il n’a aucune utilité.

La méthode insert() attend deux arguments :

L’index où insérer l’élément.
L’élément à insérer.
Voici comment corriger votre code :

nums = [1, 2, 3]
nums.insert(2, 4) # Insère 4 à l’index 2
print(nums)
# Résultat : [1, 2, 4, 3]

Si vous utilisez une liste ou une séquence pour définir l’index et l’élément, décompressez-la correctement :

args = [2, 4] # Index et élément à insérer
nums.insert(*args) # Utilisation correcte de l’opérateur *