list ( ).insert ( )
DESCRIPTION.
Insert un item (élément) dans une liste devant l'item dont l'index est précisé.
SYNTAXE.
LST_Designation.insert ( index , valeur )
LST_Designation ⇨ nom de la liste [ OBLIGATOIRE ]
.insert ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
index ⇨ index de item [ OBLIGATOIRE ]
valeur ⇨ valeur de l'item à insérer [ OBLIGATOIRE ]
REMARQUES.
index doit être un int ( ) positif, nul ou négatif. Si index est négatif, il indique une position en partant de la fin de list ( ).
valeur peut être n'importe quel type d'objet valide dans Python. Si valeur est un objet composite, tel que : list ( ), tuple ( ), dict ( ), ..., c'est bien cet objet, avec tous ces items, qui sera inséré en fin de liste et non les items de cet objet. Si index est plus grand que le nombre d'tems de la list ( ), le nouvel item sera placé en fin de list ( ) avec l'index de cette position.
LST_Designation doit être une list ( ) existante et valide, même si elle ne possède aucun item (list ( ) vide).
LST_Designation.insert ( index , valeur ) équivaut à LST_Designation [ index : index ] = [ valeur ]
Pour insérer plusieurs nouveaux items devant un item, existant déjà dans la liste, on utilise la forme : LST_Designation [ index : index ] = [ valeura , ... , valeurn ]
Rappel : Le premier item d'une collection (list ( ), tuple ( ), ... ) se trouve à l'index 0.
EXEMPLES.
LST_Lettres = [ "a" , "b" , "c" , "x" , "y" , "z" ]
LST_Lettres.insert ( 3 , "j" )
print ( LST_Lettres ) retourne ['a', 'b', 'c', 'j', 'x', 'y', 'z']
LST_Lettres.insert ( 3 , "e" )
print ( LST_Lettres ) retourne ['a', 'b', 'c', 'e', 'j', 'x', 'y', 'z']
LST_Lettres.insert ( -5 , "d" )
print ( LST_Lettres ) retourne ['a', 'b', 'c', 'd', 'e', 'j', 'x', 'y', 'z']
Si l'index est négatif, il indique une position en partant de la fin de la liste.
LST_Lettres.insert ( 42 , "@" )
print ( LST_Lettres ) retourne ['a', 'b', 'c', 'd', 'e', 'j', 'x', 'y', 'z', '@']
print ( LST_Lettres.index ( "@" ) ) retourne 9
Si l'index est plus grand que le nombre d'tems de la liste, le nouvel item sera placé en fin de liste avec l'index de cette position.
LST_Lettres.insert ( -35 , "$" )
print ( LST_Lettres ) retourne ['$', 'a', 'b', 'c', 'd', 'e', 'j', 'x', 'y', 'z', '@']
print ( LST_Lettres.index ( "$" ) ) retourne 0
Si l'index négatif est plus grand que le nombre d'tems de la liste, le nouvel item sera placé en début de liste avec l'index 0.
Utilisation du slicing pour insérer un ou plusieurs items dans une liste.
LST_Nombres = [ 0 , 4 , 6 , 12 , 21 , 27 ]
LST_Nombres [ 3 : 3 ] = [ 9 ]
print ( LST_Nombres ) retourne [0, 4, 6, 9, 12, 21, 27]
LST_Nombres [ 5 : 5 ] = 16
print ( LST_Nombres ) retourne TypeError: can only assign an iterable
L'item à insérer doit avoir la forme d'un objet itérable.
LST_Nombres [ 5 : 5 ] = { 16 }
print ( LST_Nombres ) retourne [0, 4, 6, 9, 12, 16, 21, 27]
L'item à insérer est dans un set ( ), qui est bien un objet itérable.
LST_Nombres [ 7 : 7 ] = ( 24 )
print ( LST_Nombres ) retourne can only assign an iterable
Si l'objet itérable est un tuple ( ) avec un seul item, attention à ne pas oublier la virgule terminale.
LST_Nombres [ 7 : 7 ] = ( 24 , )
print ( LST_Nombres ) retourne [0, 4, 6, 9, 12, 16, 21, 24, 27]
LST_Nombres [ -3 : -3 ] = [ 18 ]
print ( LST_Nombres ) retourne [0, 4, 6, 9, 12, 16, 18, 21, 24, 27]
Si l'index est négatif, il indique une position en partant de la fin de la liste.
LST_Nombres [ 28 : 28 ] = [ 42 ]
print ( LST_Nombres ) retourne [0, 4, 6, 9, 12, 16, 18, 21, 24, 27, 42]
print ( LST_Nombres.index ( 42 ) ) retourne 10
Si l'index est plus grand que le nombre d'tems de la liste, le nouvel item sera placé en fin de liste avec l'index de cette position.
LST_Nombres [ 5 : 5 ] = [ 13 , 14 , 15 ]
print ( LST_Nombres ) retourne [0, 4, 6, 9, 12, 13, 14, 15, 16, 18, 21, 24, 27, 42]
Cette technique permet d'insérer plusieurs items avant l'index précisé.
Comme les chaines de caractères sont des objets itérable (list ( ) particulier), il est possible de les désassembler rapidement.
LST_Symboles = [ ]
LST_Symboles [ 0 : 0 ] = "Python est puissant et agréable à utiliser."
print ( LST_Symboles ) retourne ['P', 'y', 't', 'h', 'o', 'n', ' ', 'e', 's', 't', ' ', 'p', 'u', 'i', 's', 's', 'a', 'n', 't', ' ', 'e', 't', ' ', 'a', 'g', 'r', 'é', 'a', 'b', 'l', 'e', ' ', 'à', ' ', 'u', 't', 'i', 'l', 'i', 's', 'e', 'r', '.']
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.