<p>我正在创建自己的报告工具,并试图找出如何将IP地址与端口号排序。你知道吗</p>
<p>如何使用端口号对IP地址进行排序,以便先对IP地址进行排序,然后再通过端口号进行排序。我能够很好地对IP地址进行排序,但是当与端口号结合使用时,它就变得很困难了。你知道吗</p>
<pre><code>a = ['192.168.0.3 (443/tcp)|', '192.168.0.176 (443/tcp)|', '192.168.0.40 (443/tcp)|', '192.168.0.15 (8443/tcp)|', '192.168.0.16 (8443/tcp)|', '192.168.0.12 (443/tcp)|', '192.168.0.9 (3389/tcp)|', '192.168.0.15 (443/tcp)|', '192.168.0.16 (443/tcp)|', '192.168.0.3 (3389/tcp)|', '192.168.0.14 (443/tcp)|']
print(a.sort(key=lambda s: map(int, s.split('.')))) #this works fine with just IP address not with the current format of (xxx/tcp). The pipe is for delimiters so please ignore.
</code></pre>
<p>我想得到的输出排序的IP地址第一,然后为每个IP排序通过端口号。例如,前几个结果是:</p>
<pre><code>a= ['192.168.0.3 (443/tcp)|', '192.168.0.3 (3389/tcp)|', 192.168.0.9 (3389/tcp)|, ...']
</code></pre>