elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Supongo que esto será facil [Python]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Supongo que esto será facil [Python]  (Leído 2,885 veces)
тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Supongo que esto será facil [Python]
« en: 27 Octubre 2015, 01:29 am »

Hola a todos,

tengo una dudilla rápida de Python, veréis tengo una cadena con posiciones y quiero que esa cadena pase a ser una lista de tuplas, os pongo código:

Código
  1. #asi es como lo quiero tener
  2. path = [(37.429, -122.145),(37.428, -122.145),(37.427, -122.145),(37.427, -122.146),(37.427, -122.146)]
  3. #pero tengo esto
  4. str #con valor: "[(37.429, -122.145),(37.428, -122.145),(37.427, -122.145),(37.427, -122.146),(37.427, -122.146)] "
  5.  


Si sabeis una manera rápida de hacerlo, si no he pensado ir pasando uno a uno a esa lista pero quizás es complicarme

muchas gracias

Saludos


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Supongo que esto será facil [Python]
« Respuesta #1 en: 27 Octubre 2015, 03:58 am »

la verdad no entiendo lo que querés decir, por lo que creo te referís al algo como esto:
Código
  1. texto= "[(37.429, -122.145),(37.428, -122.145),(37.427, -122.145),(37.427, -122.146),(37.427, -122.146)] "
  2. print(eval(texto))
  3.  


En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Supongo que esto será facil [Python]
« Respuesta #2 en: 27 Octubre 2015, 10:05 am »

Quiero pasar de la cadena de texto a la lista de tuplas, pero que el formato quede exactamente el mismo
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Supongo que esto será facil [Python]
« Respuesta #3 en: 27 Octubre 2015, 11:28 am »

eso pensé! por eso el código!¿lo probaste?
hay 2 formas:
1- simple,sin módulos, insegura:

Código
  1. texto= "[(37.429, -122.145),(37.428, -122.145),(37.427, -122.145),(37.427, -122.146),(37.427, -122.146)] "
  2. prueba = eval(texto)
  3. print(prueba)
  4. print(type(prueba))
  5. print(prueba[0])
  6. print(type(prueba[0]))
  7.  

2- más completa, con módulo, segura:
Código
  1. import ast
  2. texto= "[(37.429, -122.145),(37.428, -122.145),(37.427, -122.145),(37.427, -122.146),(37.427, -122.146)] "
  3. otra_prueba = ast.literal_eval(texto)
  4. print(otra_prueba)
  5. print(type(otra_prueba))
  6. print(otra_prueba[1])
  7. print(type(otra_prueba[1]))
  8.  

más claro que eso no sé.
En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Supongo que esto será facil [Python]
« Respuesta #4 en: 27 Octubre 2015, 20:05 pm »

Muchas gracias


la segunda opción me ha funcionado.

Resuelto!

Gracias

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines