擅长:python、mysql、java
<p>另一个简单的方法:</p>
<pre><code>import re
fruits = ['apple', 'banana', 'orange'] # "master list"
labels = ['banana2', 'apple2', 'orange1', 'banana1', 'apple10', 'apple3'] # "long list"
def normal_sort(text):
return [int(c) if c.isdigit() else c for c in re.split('(\d+)', text)]
def func(x):
x = " ".join(re.findall("[a-zA-Z]+", x))
return x
print(sorted(sorted(labels, key=func), key=normal_sort))
# ['apple2', 'apple3', 'apple10', 'banana1', 'banana2', 'orange1']
</code></pre>