:-[ 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
struct Persona{
char nombre[50];
int edad;
}
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:
datos=[]
Informacion = []
x = int(input("Cuantos datos desea introducir\n"))
for i in range(x):
nombre = input("Nombre\n")
edad = input("Edad\n")
datos.append(nombre)
datos.append(edad)
Informacion.append(datos)
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.
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.
Cita de: -Myx- en 27 Marzo 2014, 15:53 PMMOD: 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
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:
Informacion = []
x = int(input("Cuantos datos desea introducir: "))
for i in range(x):
nombre = raw_input("Nombre: ")
edad = raw_input("Edad: ")
Informacion.append([nombre, edad])
print("los datos son",Informacion)
Para recorrer la lista, puedes usar un for:
for datos in Informacion:
print "Nombre:", datos[0]
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!
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.