Soy nuevo en Python y no puedo encontrar una manera de insertar una cadena en una lista sin que se divida en caracteres individuales:
>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']
¿Qué debo hacer para tener:
['foo', 'hello', 'world']
Busqué en la documentación y en la Web, pero no ha sido mi día.
list2 = list1.append('foo')
olist2 = list1.insert(0, 'foo')
resultará enlist2
tener un valor de Ninguno. Ambosappend
yinsert
son métodos que mutan la lista en la que se utilizan en lugar de devolver una nueva lista.Siguiendo el método que está utilizando para insertarlo, utilice
http://docs.python.org/release/2.6.6/library/stdtypes.html#mutable-sequence-types
fuente
Otra opción es usar el sobrecargado
+ operator
:fuente
l += ['foo']
mejor poner paréntesis alrededor de foo, y usar + =
fuente
fuente
No use list como nombre de variable. Es una función que estás enmascarando.
Para insertar, use la función insertar de listas.
fuente
insert()
toma un segundo argumento.Tienes que agregar otra lista:
fuente
o (use la
insert
función donde puede usar la posición del índice en la lista)fuente
Sugiero agregar el operador '+' de la siguiente manera:
lista = lista + ['foo']
¡Espero eso ayude!
fuente