擅长:python、mysql、java
<p>您可以使用regex进行以下操作:</p>
<pre><code>>>> import re
>>> r = re.compile(r'\((name\d+)\)')
>>> lis = ['variable1 (name1)', 'variable3 (name3)', 'variable2 (name100)']
>>> sorted(lis, key=lambda x:r.search(x).group(1))
['variable1 (name1)', 'variable2 (name100)', 'variable3 (name3)']
</code></pre>
<p>注意,上面的代码将在<code>name3</code>之前返回类似<code>name100</code>的内容,如果这不是您想要的,则需要执行以下操作:</p>
<pre><code>>>> r = re.compile(r'\(name(\d+)\)')
def key_func(m):
return int(r.search(m).group(1))
>>> sorted(lis, key=key_func)
['variable1 (name1)', 'variable3 (name3)', 'variable2 (name100)']
</code></pre>