擅长:python、mysql、java
<p>像这样的方法可能有用:</p>
<pre><code>words = ('aardvark', 'aardwolf', 'aaron', 'aback', 'abacus',
'abaft', 'abalone')
pattern = 'ab___'
def match(word, pattern):
# also need to match the length?
# if len(word) != len(pattern):
# return False
for letter, p in zip(word, pattern):
if p == '_':
continue
if letter != p:
return False
return True
matches = [word for word in words if match(word, pattern)]
print(matches)
</code></pre>
<p>它将单词的一个字母与模式的一个字符进行比较(使用<a href="https://docs.python.org/3/library/functions.html#zip" rel="nofollow noreferrer">^{<cd1>}</a>在这些对上进行迭代)。它忽略模式的字符是否为<code>'_'</code>。你知道吗</p>
<p>现在编写函数时,它不考虑单词或模式的长度。你知道吗</p>