Hello all(这是for python 2.7.12)
我试图使用一个包含300,000个左右单词的文件,每行一个,并将它们全部添加到我的__init__
方法中的一个集合中。这就是我到目前为止所拥有的。
当我使用除字符串作为参数之外的任何东西时,我无法使用它返回错误的函数。我做错了什么?
我希望这个集合除了每个单词之外什么都没有,例如“集合”,“汽车'狗”等等。
def __init__(self,words): # accepts a file of strings and puts them into a list
self.language = set()
for w in words:
words.open()
w.strip('\n')
self.language.add(w)
print self.language
答案 0 :(得分:0)
如果你有一个名为 data.txt 的文件,你可以将文件读入一个单词列表,去掉换行符并从列表中创建一个集合:
with open('data.txt') as f:
raw = f.readlines()
words = [i.strip() for i in raw]
wordSet = set(words)
如果你想创建一个类,你可以将其定义为:
class listOfWords(object):
"""docstring for listOfWords."""
def __init__(self, wordFile):
self.wordFile = wordFile
self.wordSet = self.readfile()
def readfile(self):
with open(self.wordFile) as f:
wordSet = {line.rstrip() for line in f}
return wordSet
然后用:
创建一个对象wordObject = listOfWords('data.txt')
当您想要访问要调用的单词集时:
wordObject.wordSet