我有一個人字典文件,看起來像eng.dic
(圖像中有接近billion單詞的列表)。我必須經常運行不同的單詞查詢。從文件中搜索一個字符串 - python
apple
pear
foo
bar
foo bar
dictionary
sentence
我有一個字符串讓我們說「富巴」,有沒有更好的(更有效的方式)通過的文件搜索,看看它是否存在,如果它返回存在的,如果它不存在,追加字典文件
dic_file = open('en_dic', 'ra', 'utf8')
query = "foo-bar"
wordlist = list(dic_file.readlines().replace(" ","-"))
en_dic = map(str.strip, wordlist)
if query in en_dic:
return 1
else:
print>>dic_file, query
python中是否有內置的搜索函數?或者我可以導入的任何庫來運行這樣的搜索而沒有太多的開銷?
我懷疑你可以,如果你僅僅是不是像一個一個實現,你必須做的更好用一個詞做這個。但是,如果您要循環並執行此功能很多次,則可以使用更高效的查找方式來存儲字符串。一個非常簡單的例子就是保持列表排序。 –
億字?真?您將在大約一百萬用完的英語單詞.. – wim
@wim,事實並非如此。將「foo」看作1個單詞,將「bar」看作1個單詞,將「foo bar」看作不同的單詞。所以詞列表是在某種意義上幾乎是無限的,但僅限於我有什麼樣的數據輸入,目前它在一個十億字語料,所以我列出的最壞情況。 – alvas