Citation de tabadou le 10 décembre 2024, 8 h 23 min
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 ?
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 ?
Citation de dominator le 10 décembre 2024, 9 h 25 min
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 :
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 *
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 :