Sou novo no Python e não consigo encontrar uma maneira de inserir uma string em uma lista sem que ela seja dividida em caracteres individuais:
>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']
O que devo fazer para ter:
['foo', 'hello', 'world']
Pesquisei nos documentos e na web, mas não foi o meu dia.
list2 = list1.append('foo')
oulist2 = list1.insert(0, 'foo')
resultará emlist2
ter o valor Nenhum. Ambosappend
einsert
são métodos que alteram a lista na qual são usados, em vez de retornar uma nova lista.Seguindo o método que você está usando para inseri-lo, use
http://docs.python.org/release/2.6.6/library/stdtypes.html#mutable-sequence-types
fonte
Outra opção é usar o sobrecarregado
+ operator
:fonte
l += ['foo']
melhor colocar colchetes em torno de foo e usar + =
fonte
fonte
Não use lista como nome de variável. É algo que você está mascarando.
Para inserir, use a função de inserção de listas.
fonte
insert()
leva um segundo argumento.Você tem que adicionar outra lista:
fonte
ou (use a
insert
função onde você pode usar a posição do índice na lista)fonte
Sugiro adicionar o operador '+' da seguinte forma:
lista = lista + ['foo']
Espero que ajude!
fonte