Se você quiser 'estender' a um ponto de inserção específico, você pode usar a lista sintaxe corte (ver stackoverflow.com/a/7376026/1075152 )
florisla
5
O comentário de @ florisla deve ser a resposta aceita. É a única maneira de inserir uma lista em outra lista em um local arbitrário (não apenas no final).
tecelão
1
@weaver Embora seja a única solução para fazer isso (estenda em um índice específico), essa não era a pergunta original.
florisla 15/09/16
@florisla Isso é pedantismo.
weaver
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]
Se o fizermos x.append(y), y será referenciado em x de modo que quaisquer alterações feitas em y afetem também x anexado. Portanto, se precisarmos inserir apenas elementos, devemos fazer o seguinte:
listA.insert(pos, x) for x in listB[::-1]
?Respostas:
Você quer dizer
append
?Ou mesclar?
fonte
x.extend(y)
está no lugar,x+y
está retornando nova lista. Ex += y
, que não foi mencionado aqui, é semelhante à extensão.A questão não deixa claro o que exatamente você deseja alcançar.
List possui o
append
método, que anexa seu argumento à lista:Há também o
extend
método, que acrescenta itens da lista que você passa como argumento:E, claro, existe o
insert
método que age de maneira semelhante a,append
mas permite especificar o ponto de inserção:Para estender uma lista em um ponto de inserção específico, você pode usar o fatiamento da lista (obrigado, @florisla):
O fatiamento de lista é bastante flexível, pois permite substituir um intervalo de entradas em uma lista por um intervalo de entradas de outra lista:
fonte
http://docs.python.org/tutorial/datastructures.html
fonte
[1,2,4,5,6,3]
Você também pode fazer ...
fonte
x + y
ex += y
é exatamente a mesma coisa, mas está no lugar.Se você deseja adicionar os elementos em uma lista (lista2) ao final de outra lista (lista), pode usar o método de extensão de lista
Ou, se você deseja concatenar duas listas, pode usar o sinal +
fonte
Se o fizermos
x.append(y)
, y será referenciado em x de modo que quaisquer alterações feitas em y afetem também x anexado. Portanto, se precisarmos inserir apenas elementos, devemos fazer o seguinte:x = [1,2,3] y = [4,5,6] x.append(y[:])
fonte