2012/10/13 kausdiv <kaus...@gmail.com>: > 1º: > El diccionario tiene una clave y un valor (Clave "Cat" valor "Gato") por > tanto va muy bien si siempre quier saber la traducción en un sentido: "Cat" > -> "Gato". > ¿ Pero como puedo hacer al revés ?
Puedes construirte el diccionario inverso. No sé si existe una forma mejor, pero con algo de fuerza bruta puede salir en milisegundos. Necesitas los métodos .keys() y .values() > 2º: > Si yo quiero hacer un función para que me pregunte palabras aleatorias. Creo > que no valdría hacer algo así: dic[2] Puedes hacer dic[random.choice(dic.keys())]. > Viendo estas dificultades y el poco tiempo que llevo en python, me pregunto > si no es mejor hacerlo con listas: > lista=["Cat;Gato","Son;Hijo"] > y obtener clave y valor con split(";") de forma que podría buscar tanto en > ingles como en españo. Mucho más sencillo hacer una lista de listas. lista=[['cat', 'gato'],['son','hijo']] o de tuplas, si no las vas a modificar: lista_tupla=[('cat', 'gato'),('son','hijo')] Pero quizá sea más fácil hacer dos listas paralelas: esp=['gato', 'hijo'] eng=['cat', 'son'] Y llamarlas por el mismo número. Ambas son equivalentes, ya que: lista_tupla==zip(eng,esp) eng==[x[0] for x in lista_tupla] esp==[x[1] for x in lista_tupla] _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/