擅长:python、mysql、java
<p>下面是一个使用筛选函数的问题,该函数使用从您的规范生成的单词列表。你知道吗</p>
<pre><code>findall = lambda pred, word: filter(pred, words_gen(word))
def words_gen(word):
yield word
while True:
lastchr = word[-1]
if len(word) == 1 and lastchr == 'z':
break
new_lastchr = chr(97 + ((ord(lastchr) - 96) % 26))
if lastchr == 'z':
word = word[:-2] + new_lastchr
else:
word = word[:-1] + new_lastchr
yield word
def check_match(it):
def match(word):
try:
it.index(word)
except ValueError:
return False
else:
return True
return match
lst = ['allena', 'allend','alphosis','alpinist', 'alternative']
> print(list(findall(check_match(lst), 'allena')))
['allena', 'allend']
</code></pre>