Python - Formato de números

 
Vista:
Imágen de perfil de Efrain
Val: 16
Ha disminuido su posición en 8 puestos en Python (en relación al último mes)
Gráfica de Python

Formato de números

Publicado por Efrain (7 intervenciones) el 05/01/2021 23:38:49
Buenas tardes amigos, soy nuevo en python y vengo ejecutando una serie de ejercicios para poder aprender el lenguaje, resulta que tengo una lista:

Lista1 = [123,55,7]

y debo de codificar para obtener lo siguiente:

Lista2 = [1.23,5.5,7]

He estado intentando pero no he podido dar con la solución, si alguien me brinda una sugerencia me ayudaría mucho.

Gracias.
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
sin imagen de perfil
Val: 3
Ha disminuido su posición en 17 puestos en Python (en relación al último mes)
Gráfica de Python

Formato de números

Publicado por Daniel (1 intervención) el 06/01/2021 04:44:56
1
2
3
4
5
6
7
8
9
10
11
Lista1 = [123,55,7]
Lista1 = str(Lista1)
 
 
uno=float(Lista1[1] + "." + Lista1[2:4])
 
dos=float(Lista1[6] + "." + Lista1[7])
 
Lista2=[uno,dos, 7]
 
print(Lista2)

===================================

Sino puedes usar las variables uno dos entonces sería así:

1
2
3
4
5
6
Lista1 = [123,55,7]
Lista1 = str(Lista1)
 
 
Lista2=[float(Lista1[1] + "." + Lista1[2:4]),float(Lista1[6] + "." + Lista1[7]), 7]
print(Lista2)


====================================

A mi se me ocurrió convertir la Lista1 en String
Es decir:
1
2
Lista1 = [123,55,7]
Lista1 = str(Lista1)

Si quieres ver el tipo de dato: print(type(Lista1))

Ahora como es un string [123, 55, 7]
si imprimes Lista1[0] aparecerá [, si imprimes Lista1[1] mostrará el 1 y así sucesivamente pero también hay espacios y esos también cuentan en la cadena

Lo que hice fue crear una variable y pasarla a flotante con lo siguiente
uno=float(Lista1[1] + "." + Lista1[2:4])
es decir está tomando el 5, le añadí un punto y le añadí también de la cadena Lista1 los numeros (2,3)

Creo que debe haber una manera más fácil y entendible de resolverlo pero bueno espero haberte ayudado
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
Imágen de perfil de Efrain
Val: 16
Ha disminuido su posición en 8 puestos en Python (en relación al último mes)
Gráfica de Python

Formato de números

Publicado por Efrain (7 intervenciones) el 06/01/2021 16:06:35
muchas gracias por tu aporte Daniel, voy a seguir investigando, si encuentro algo mas fácil lo comento por aquí...
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Formato de números

Publicado por joel (901 intervenciones) el 07/01/2021 08:57:20
Hola Efrain, aquí otra manera:

1
2
3
4
5
Lista1 = [123, 55, 7]
 
LIsta2 = [i/10**(len(str(i))-1) if len(str(i))>1 else i for i in Lista1]
 
print(Lista2) # [1.23, 5.5, 7]
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