擅长:python、mysql、java
<p>如果速度很重要,而且单词列表甚至有一定的长度,那么最好进行查找,而不是搜索每个单词的每个字符的索引</p>
<p>您可以使用字符串函数<code>translate()</code>和<code>maketrans()</code>创建一种将输入字符串转换为翻译以进行排序的快速方法</p>
<p>例如:</p>
<pre><code># make translation table
trans = str.maketrans(g, "".join(sorted(g)))
# translate words works like:
"revestir".translate(trans) # 'ivevhgri'
# sort with it:
sorted(l, key=lambda word: word.translate(trans))
# ['revestir', 'miel', 'extraterrestre', 'auto', 'automovil', 'al']
</code></pre>
<p>如果字符串中的字符不在字母表中,<code>index()</code>会阻塞,那么这也有利于对错误进行恢复。它们只是通过,比如:</p>
<pre><code>"reve*stir".translate(trans)
# 'ivev*hgri'
</code></pre>