Si vous souhaitez «étendre» à un point d'insertion spécifique, vous pouvez utiliser la syntaxe de découpage de liste (voir stackoverflow.com/a/7376026/1075152 )
florisla
5
Le commentaire de @ florisla devrait être la réponse acceptée. C'est le seul moyen d'insérer une liste dans une autre liste en place à un endroit arbitraire (pas seulement à la fin).
tisserand
1
@weaver Alors qu'il est la seule solution pour faire que (étendre à un indice spécifique), qui n'a pas été la question initiale.
florisla du
@florisla C'est de la pédanterie.
tisserand
31
foo =[1,2,3]
bar =[4,5,6]
foo.append(bar)-->[1,2,3,[4,5,6]]
foo.extend(bar)-->[1,2,3,4,5,6]
Si nous le faisons x.append(y), y est référencé dans x de telle sorte que toute modification apportée à y affectera également x ajouté. Donc, si nous devons insérer uniquement des éléments, nous devons procéder comme suit:
listA.insert(pos, x) for x in listB[::-1]
?Réponses:
Tu veux dire
append
?Ou fusionner?
la source
x.extend(y)
est en place,x+y
renvoie une nouvelle liste. Etx += y
, qui n'a pas été mentionné ici, est similaire à l'extension.La question ne précise pas exactement ce que vous voulez réaliser.
List a la
append
méthode, qui ajoute son argument à la liste:Il y a aussi la
extend
méthode, qui ajoute des éléments de la liste que vous passez en argument:Et bien sûr, il y a la
insert
méthode qui agit de la même manièreappend
mais vous permet de spécifier le point d'insertion:Pour étendre une liste à un point d'insertion spécifique, vous pouvez utiliser le découpage de liste (merci, @florisla):
Le découpage de liste est assez flexible car il permet de remplacer une plage d'entrées dans une liste par une plage d'entrées d'une autre liste:
la source
http://docs.python.org/tutorial/datastructures.html
la source
[1,2,4,5,6,3]
Vous pouvez aussi simplement faire ...
la source
x + y
etx += y
est juste la même chose mais en place.Si vous souhaitez ajouter les éléments d'une liste (liste2) à la fin d'une autre liste (liste), vous pouvez utiliser la méthode d'extension de liste
Ou si vous voulez concaténer deux listes, vous pouvez utiliser + signe
la source
Si nous le faisons
x.append(y)
, y est référencé dans x de telle sorte que toute modification apportée à y affectera également x ajouté. Donc, si nous devons insérer uniquement des éléments, nous devons procéder comme suit:x = [1,2,3] y = [4,5,6] x.append(y[:])
la source