values keys item dictionaries create python dictionary

keys - python dictionary of dictionaries



¿Lista de palabras gratis para usar programáticamente? (7)

Eche un vistazo a las bases de datos en dict.org . En realidad, se trata de bases de datos de diccionarios, por lo que deberá extraer las definiciones de palabras usted mismo. Puedes comenzar desde Wordnet .

Un amigo mío estaba hablando de un juego de palabras que le gustaba jugar donde intentas convertir una palabra a otra (tienen el mismo número de letras) cambiando una letra a la vez, donde cada iteración produce una palabra real.

Ejemplo:

LUNA -> LOBO
SEGUIR
BOBO
GOLF
LOBO

Pensé que sería un pequeño y divertido proyecto escribir un programa para generar soluciones, y llevarlo más allá, dadas 2 palabras, determinar si existe una solución y el número de iteraciones en la solución óptima.

El problema es que tengo problemas para encontrar listas de palabras gratuitas a las que puedo acceder fácilmente mediante programación. También estoy pensando en utilizar esto como una excusa para aprender Python, por lo que sería genial si alguien sabe de listas de palabras libres y consejos sobre cómo analizar y acceder a él desde Python. El algoritmo para descubrir cómo encontrar una ruta óptima trabajaré solo.



La mayoría de Unix (que incluye osx) tiene un archivo /usr/share/dict/words .


Opciones:

  1. Busque / usr / share / dict / words en su instalación de Unix común o de jardín.
  2. http://www.ibiblio.org/webster/
  3. http://wordlist.sourceforge.net/
  4. http://svnweb.freebsd.org/csrg/share/dict/ (haga clic en la etiqueta ''revisión'' del archivo ''palabras'')

#4 es el que usé para mi propio experimento de Python en juegos de palabras, y funcionó muy bien.

Para obtener puntos de bonificación, aquí hay algo para que comiences con tu programa de palabras:

import re startwith = "MOON" endwith = "GOLF" cklength = re.compile(''.{'' + str(len(startwith)) + ''}(/n)?$'', re.I) filename = "C:/dict.txt" words = set(x.strip().upper() for x in open(filename) if x.match(cklength))

Las palabras serán un conjunto de todas las palabras de 4 letras en el diccionario. Puedes hacer tu lógica desde allí.


Para algo similar he usado el diccionario mozilla en inglés . Es un archivo zip (aunque tiene otra extensión). Dentro encontrarás en-GB.dic que es el diccionario.



si tiene acceso a una instalación de Linux, debe haber algunas listas de palabras en

/usr/share/dict/