擅长:python、mysql、java
<p>您要查找的是<code>sort</code>中可选的<code>key</code>参数。您可以使用它来告诉python根据函数进行排序。在这种情况下,该函数可以表示为:</p>
<pre><code>def mykey(s):
parts = s.split("_",1)
importantPart = splits[0]
number = int(importantPart[1:]) # remove the "S"
return number
</code></pre>
<p>当然,这可以表示为一个简单的lambda:</p>
<pre><code>lambda s: int(s.split("_",1)[0][1:])
</code></pre>
<p>因此,你会得到以下结果:</p>
<pre><code>In [21]: L = ['S10_E1-17', 'S25_1-21', 'S3_1-', 'S5_1-', 'S9_1-']
In [22]: sorted(L, key=lambda s: int(s.split("_",1)[0][1:]))
Out[22]: ['S3_1-', 'S5_1-', 'S9_1-', 'S10_E1-17', 'S25_1-21']
</code></pre>