Como anexar vários valores a uma lista em Python

Estou a tentar descobrir como anexar vários valores a uma lista em Python. Eu sei que existem poucos métodos para fazer isso, como inserir manualmente os valores, ou purgar a operação de anexar em um loop ou funções de for', ouappend andextend'.

No entanto, pergunto-me se haverá uma maneira mais limpa de o fazer? Talvez um determinado pacote ou função?

Solução

Você pode utilizar o método sequence method list.extend para estender a lista por múltiplos valores de qualquer tipo de iterável, seja ela outra lista ou qualquer outra coisa que forneça uma seqüência de valores.

>>> lst = [1, 2]
>>> lst.append(3)
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

>>> lst.extend([5, 6, 7])
>>> lst.extend((8, 9, 10))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> lst.extend(range(11, 14))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

Então você pode utilizar list.append() para anexar um único valor, e list.extend() para anexar múltiplos valores.

Comentários (3)

Além da função `append', se por "múltiplos valores" você quer dizer outra lista, você pode simplesmente concatená-los dessa forma.

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
Comentários (0)

Se você der uma olhada nos docs oficiais, você'verá logo abaixo append, extend. Isso'é o que você está procurando.

Lá's também itertools.chain se você estiver mais interessado em uma iteração eficiente do que em terminar com uma estrutura de dados totalmente preenchida.

Comentários (0)