Python: load words from file into a set

Roee Adler picture Roee Adler · May 17, 2009 · Viewed 49.5k times · Source

I have a simple text file with several thousands of words, each in its own line, e.g.

aardvark
hello
piper

I use the following code to load the words into a set (I need the list of words to test membership, so set is the data structure I chose):

my_set = set(open('filename.txt'))

The above code produces a set with the following entries (each word is followed by a space and new-line character:

("aardvark \n", "hello \n", "piper \n")

What's the simplest way to load the file into a set but get rid of the space and \n?

Thanks

Answer

user97370 picture user97370 · May 17, 2009

The strip() method of strings removes whitespace from both ends.

set(line.strip() for line in open('filename.txt'))