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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Estructura de datos en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructura de datos en python  (Leído 2,631 veces)
Kase_New_Python

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Estructura de datos en python
« en: 26 Marzo 2014, 20:19 pm »

 :-[ Hola amigos del foro,  acabo de emigrar de c a python este es un lenguaje impresionante, hace unos dias estaba pensando en como aplicar las estructuras en c en python  por ejemplo
Código
  1. struct Persona{
  2.  char nombre[50];
  3.  int edad;
  4. }

Entonces empecé a utilizar listas, he checacos los metodos append, extend, insert, remove, pop, index, count, sort y reverse:
Lo que hice fue lo siguiente:
Código
  1. datos=[]
  2. Informacion = []
  3. x = int(input("Cuantos datos desea introducir\n"))
  4. for i in range(x):
  5.    nombre = input("Nombre\n")
  6.    edad = input("Edad\n")
  7.    datos.append(nombre)
  8.    datos.append(edad)
  9.    Informacion.append(datos)
  10. print("los datos son",Informacion)

 :silbar: Pero en este punto me arroja lo siguiente si le pongo que quiero introducir 2 personas
los datos son [['Kase', '18', 'Danna', '16'], ['Kase', '18', 'Danna', '16']]

1.- En primera me repite la informacion de datos
2.- Cuando borro mi lista de datos  "del datos" o datos.clear  mi lista Informacion sale vacia..

mi pregunta es como le hago para que no me repita la informacion y la segunda es como recorro cada uno de mis elementos de mi lista de listas Informacion es decir como optengo el nombre y luego edad..
Tambien si existe otra forma mas facil de implementar las estructuras de C en python..
Muchas gracias de ante mano: Saludos


[MOD]: Bienvenido al foro, pero lee las normas del post con chincheta, para saber como insertar un código.


« Última modificación: 26 Marzo 2014, 21:41 pm por Eleкtro » En línea

-Myx-

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Estructura de datos en python
« Respuesta #1 en: 27 Marzo 2014, 15:53 pm »

te das cuenta que "datos" sigue creciendo y creciendo y en cada loop lo agregas a Informacion?

MOD: usar CODE esta bien, no tengo nada en contra de eso, pero quizas podriamos usar CODE sin un formato de codigo. Asi seria mas facil copiar y pegar en el caso de que haga falta.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Estructura de datos en python
« Respuesta #2 en: 27 Marzo 2014, 16:44 pm »

MOD: usar CODE esta bien, no tengo nada en contra de eso, pero quizas podriamos usar CODE sin un formato de codigo. Asi seria mas facil copiar y pegar en el caso de que haga falta.

No se muy bien a que te refieres, pero está permitido usar la etiqueta 'CODE' sin determinar el formato adecuado a la sintaxis del lenguaje específico (Ej: CODE=python), el problema es que el usuario no utilizó ninguna etiqueta (no insertó la etiqueta 'CODE'), si ahora el código está con formato es porque obviamente le edité el post.

Saludos
En línea



Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: Estructura de datos en python
« Respuesta #3 en: 28 Marzo 2014, 18:03 pm »

Eso sucede porque cuando haces un append(datos), en lugar de agregar los elementos de datos, guardas una referencia al objeto datos. Por eso cuando modificas o eliminas datos, tambien cambia el contenido de Informacion.

Una forma de hacer lo que quieres sin modificar mucho el código sería:

Código
  1. Informacion = []
  2. x = int(input("Cuantos datos desea introducir: "))
  3.  
  4. for i in range(x):
  5.    nombre = raw_input("Nombre: ")
  6.    edad = raw_input("Edad: ")
  7.    Informacion.append([nombre, edad])
  8.  
  9. print("los datos son",Informacion)

Para recorrer la lista, puedes usar un for:

Código
  1. for datos in Informacion:
  2.    print "Nombre:", datos[0]
  3.    print "Edad:", datos[1]

Recuerda que estás recorriendo una lista cuyo cada elemento es una lista nueva de dos elementos.

Otra forma de hacer lo mismo sería con diccionarios. Echales un vistazo.

Saludos!
En línea

Kase_New_Python

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Estructura de datos en python
« Respuesta #4 en: 2 Abril 2014, 20:06 pm »

Muchas gracias a todos, ya heche andar esto y de nuevo gracias tambien a la comunidad.
Ahora ando checando lo del diccionario. gracias por la ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(Python)Existen ventanas de entrada y salida de datos en python « 1 2 »
Scripting
tonilogar 11 16,236 Último mensaje 29 Noviembre 2009, 00:49 am
por tonilogar
Estructura de datos
Programación General
EFEX 1 2,826 Último mensaje 27 Junio 2011, 14:25 pm
por EFEX
¿Alguién conoce un buen curso/libro de minería de datos y estructura de datos?
Programación General
Aikanáro Anário 0 2,101 Último mensaje 30 Agosto 2012, 23:06 pm
por Aikanáro Anário
estructura de datos
Programación C/C++
manutmac 1 2,121 Último mensaje 11 Diciembre 2012, 04:09 am
por twins
Solución de problemas con algoritmos y estructura de datos [PYTHON]
Scripting
Yidu 0 2,924 Último mensaje 22 Octubre 2017, 17:53 pm
por Yidu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines