擅长:python、mysql、java
<p>通过使用字典检查成员身份而不是进行线性搜索,可以大大加快速度。唯一的“诀窍”是设计一种方法来为它创建键,这样它将是相同的语法词(而不是其他)。你知道吗</p>
<p>在下面的代码中,这是通过从每个单词中的字母创建一个排序元组来完成的。你知道吗</p>
<pre><code>def anagramtastic(words):
dct = {}
for word in words:
key = tuple(sorted(word)) # Identifier based on letters.
dct.setdefault(key, []).append(word)
# Return a list of all that had an anagram.
return [words for words in dct.values() if len(words) > 1]
wordlist = ['act', 'cat', 'binary', 'brainy', 'case', 'aces',
'aide', 'idea', 'earth', 'heart', 'tea', 'tee']
print('result:', anagramtastic(wordlist))
</code></pre>
<p>产出:</p>
<p><code>result: [['act', 'cat'], ['binary', 'brainy'], ['case', 'aces'], ['aide', 'idea'], ['earth', 'heart']]</code></p>