Supongamos que tengo una lista simple de Python como esto:Luchando con la sintaxis de división para unirse a elementos de la lista de una parte de una lista
>>> l=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
Ahora supongamos que quiero combinar l[2:6]
a un solo elemento de la siguiente manera:
>>> l
['0', '1', '2345', '6', '7', '8', '9']
soy capaz de hacerlo en los pasos en una nueva lista, así:
>>> l2=l[0:2]
>>> l2.append(''.join(l[2:6]))
>>> l2.extend(l[6:])
>>> l2
['0', '1', '2345', '6', '7', '8', '9']
es T aquí una manera (que me falta) para hacer esto más simple y en su lugar en la lista original l
?
Editar
Como de costumbre, Sven Marnach tenía la respuesta instantánea perfecta:
l[2:6] = ["".join(l[2:6])]
Había probado:
l[2:6] = "".join(l[2:6])
Pero sin las llaves, la cadena producida por la unión Luego, se trató como iterable colocando a cada personaje de nuevo en la lista e invirtiendo la unión.
considerar:
>>> l=['abc','def','ghk','lmn','opq']
>>> l[1:3]=[''.join(l[1:3])]
>>> l
['abc', 'defghk', 'lmn', 'opq'] #correct
>>> l=['abc','def','ghk','lmn','opq']
>>> l[1:3]=''.join(l[1:3])
>>> l
['abc', 'd', 'e', 'f', 'g', 'h', 'k', 'lmn', 'opq'] #not correct
¡¡¡Son las llaves alrededor de la unión que me faltaba !!! ¡Gracias! – dawg