【发布时间】:2017-02-05 20:14:01
【问题描述】:
是否有比以下算法更有效的算法来查找属于给定语言的所有子字符串的字母表:
import string.ascii_lowercase as alphabet
languge = {'aa', 'bc', 'wxyz', 'uz'};
for i in xrange(len(alphabet)):
for j in xrange(i,len(alphabet)):
substirng = alphabet[i:j+1]
if substirng in languge:
print substirng
【问题讨论】:
-
提示:
import string.ascii_lowercase as alphabet -
对我来说看起来很高效,只有 351 次检查。为什么要问?
-
@GordonLinoff N-gram 在这里有什么帮助?
-
@StefanPochmann 如果我们的字典很大怎么办?
-
@0x90 。 . .我收回之前说过的话。只有在内存有限的环境中,减少字典的大小才是一个问题。如果字典适合内存,那么看起来会很快。
标签: python algorithm python-2.7 substring