Python - Como deshacer una lista

 
Vista:
sin imagen de perfil

Como deshacer una lista

Publicado por Hulio (3 intervenciones) el 07/11/2017 16:10:34
Hola buenas, resulta que tengo que hacer un ejercicio que tengo casi terminado y sólo me queda deshacer una lista dentro de una lista, supongo que será algo fácil pero estoy intentándolo y nada.

La entrada que he sacado es esta:

def descompresion(l):
res=[]
for x in l:
if type(x) is list:
st=str(x[1])
x=list(x[0]*st)
res.append(x)
else:
x=x
res.append(x)
return res

La salida que tengo esta: [['1', '1', '1'], 2, 1, 3, 2, ['4', '4'], 6, ['8', '8', '8']]

Y la salida que tengo que tener esta: [1, 1, 1, 2, 1, 3, 2, 4, 4, 6, 8, 8, 8]

Muchas gracias de antemano. Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Como deshacer una lista

Publicado por kip (257 intervenciones) el 07/11/2017 17:26:21
Hola, en lugar de usar append en caso de que x sea una lista puedes usar extend o el inplace-operator +=, asi:

1
res.extend(x)

1
res += x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como deshacer una lista

Publicado por Hulio (3 intervenciones) el 07/11/2017 21:55:47
Perfecto, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar