擅长:python、mysql、java
<p>拆分每个版本字符串以将其作为整数列表进行比较:</p>
<pre><code>versions_list.sort(key=lambda s: map(int, s.split('.')))
</code></pre>
<p>为您的列表提供:</p>
<pre><code>['1.0.0', '1.0.2', '1.0.12', '1.1.2', '1.3.3']
</code></pre>
<p>在Python3中,<code>map</code>不再返回<code>list</code>,因此我们需要<a href="https://stackoverflow.com/questions/1303347/getting-a-map-to-return-a-list-in-python-3-x">wrap it in a ^{<cd2>} call</a>。</p>
<pre><code>versions_list.sort(key=lambda s: list(map(int, s.split('.'))))
</code></pre>
<p>在这里映射的另一种方法是<a href="https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions" rel="noreferrer">list comprehension</a>。请参阅<a href="https://stackoverflow.com/q/34835951/4099593">this post</a>了解更多列表上的理解。</p>
<pre><code>versions_list.sort(key=lambda s: [int(u) for u in s.split('.')])
</code></pre>