Tengo un archivo de texto simple con varios miles de palabras, cada una en su propia línea, p. Ej.Python: cargar palabras del archivo en un conjunto
aardvark
hello
piper
uso el siguiente código para cargar las palabras en un conjunto (Necesito la lista de palabras para probar la pertenencia, por lo que establecer es la estructura de datos Elegí):
my_set = set(open('filename.txt'))
El código anterior produce un conjunto con las siguientes entradas (cada palabra es seguida por un espacio y una nueva línea de caracteres:?
("aardvark \n", "hello \n", "piper \n")
¿Cuál es la forma más sencilla de cargar el archivo en un conjunto, pero deshacerse del espacio y \ n
Gracias
Esto es superior a la solución establecida si tiene un archivo grande, porque map cargará todo el archivo en la memoria como una lista de líneas, que luego serán descartadas (itertools.imap puede arreglar eso, sin embargo). –
@Ryan: eso es cierto para Python <= 2.6, pero en 3.0 map devuelve un generador. – Stephan202
@RyanGinstrom Disculpa por llegar tan tarde, ¡pero no pude evitar hacerte esta pregunta! Yo había observado que 'print'' my_set [0] 'seguiría imprimiendo' aardvark'. ¿Movió el cursor a la siguiente línea después de imprimir? Corrígeme si me equivoco, pero ¿cómo sucede esto? (Python 27) ¡Gracias! –