擅长:python、mysql、java
<p>对于最后一个八位字节,您可以在键中使用<code>rsplit()</code>:</p>
<pre><code>addr_list = [ # Thanks @aneroid
'10.11.12.13',
'1.2.3.4',
'127.0.0.1',
'192.168.0.1',
]
>>> sorted(addr_list, key=lambda x: int(x.rsplit('.', 1)[1]), reverse=True)
['10.11.12.13', '1.2.3.4', '127.0.0.1', '192.168.0.1']
</code></pre>
<p>这是在下降-但你的例子似乎是上升的:</p>
^{pr2}$
<p>但我想我更喜欢按@aneroid的元组排序:</p>
<pre><code>>>> sorted(addr_list, key=lambda x: tuple(map(int, reversed(x.split('.')))))
['127.0.0.1', '192.168.0.1', '1.2.3.4', '10.11.12.13']
</code></pre>