Si desea 'extender' a un punto de inserción específico, puede usar la sintaxis de corte de lista (consulte stackoverflow.com/a/7376026/1075152 )
florisla
55
El comentario de @ florisla debe ser la respuesta aceptada. Es la única forma de insertar una lista en otra lista en un lugar arbitrario (no solo al final).
tejedor
1
@weaver Si bien es la única solución para hacer eso (ampliar en un índice específico), esa no era la pregunta original.
florisla
@florisla Eso es pedantería.
tejedor
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 solo lo hacemos x.append(y), se hace referencia a y en x de modo que cualquier cambio realizado en y afectará también a x adjunto. Entonces, si necesitamos insertar solo elementos, debemos hacer lo siguiente:
listA.insert(pos, x) for x in listB[::-1]
?Respuestas:
Qué quiere decir
append
?O fusionarse?
fuente
x.extend(y)
está en su lugar,x+y
está volviendo nueva lista. Yx += y
, que no se mencionó aquí, es similar a la extensión.La pregunta no aclara qué es exactamente lo que quieres lograr.
La lista tiene el
append
método, que agrega su argumento a la lista:También está el
extend
método, que agrega elementos de la lista que pasa como argumento:Y, por supuesto, existe el
insert
método que actúa de manera similarappend
pero le permite especificar el punto de inserción:Para extender una lista en un punto de inserción específico, puede usar el corte de lista (gracias, @florisla):
La división de listas es bastante flexible, ya que permite reemplazar un rango de entradas en una lista con un rango de entradas de otra lista:
fuente
http://docs.python.org/tutorial/datastructures.html
fuente
[1,2,4,5,6,3]
También puedes simplemente hacer ...
fuente
x + y
yx += y
es exactamente lo mismo pero en su lugar.Si desea agregar los elementos en una lista (list2) al final de otra lista (list), puede usar el método de extensión de lista
O si desea concatenar dos listas, puede usar el signo +
fuente
Si solo lo hacemos
x.append(y)
, se hace referencia a y en x de modo que cualquier cambio realizado en y afectará también a x adjunto. Entonces, si necesitamos insertar solo elementos, debemos hacer lo siguiente:x = [1,2,3] y = [4,5,6] x.append(y[:])
fuente