Je suis nouveau sur Python et je ne peux pas trouver un moyen d'insérer une chaîne dans une liste sans qu'elle soit divisée en caractères individuels:
>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']
Que dois-je faire pour avoir:
['foo', 'hello', 'world']
J'ai cherché dans les documents et sur le Web, mais ce n'est pas ma journée.
list2 = list1.append('foo')
oulist2 = list1.insert(0, 'foo')
entraînera lalist2
valeur None. Les deuxappend
etinsert
sont des méthodes qui modifient la liste sur laquelle elles sont utilisées plutôt que de renvoyer une nouvelle liste.En respectant la méthode que vous utilisez pour l'insérer, utilisez
http://docs.python.org/release/2.6.6/library/stdtypes.html#mutable-sequence-types
la source
Une autre option utilise le surchargé
+ operator
:la source
l += ['foo']
mieux vaut mettre des crochets autour de foo et utiliser + =
la source
la source
N'utilisez pas la liste comme nom de variable. C'est un élément intégré que vous masquez.
Pour insérer, utilisez la fonction d'insertion de listes.
la source
insert()
prend un deuxième argument.Vous devez ajouter une autre liste:
la source
ou (utilisez la
insert
fonction où vous pouvez utiliser la position d'index dans la liste)la source
Je suggère d'ajouter l'opérateur '+' comme suit:
liste = liste + ['toto']
J'espère que ça aide!
la source