如何在Python中对IP地址和整数进行排序?

bri*_*owd 1 python sorting ip integer list

我有一个IP和整数列表,我想要python排序到第4列:

172.2.174.86 172.2.15.65 69694 42272874

172.2.200.100 172.2.15.20 14 4326

10.1.162.12 172.2.15.162 4741 170676

172.2.174.86 172.2.15.64 46021 33956341

10.1.167.237 172.2.15.69 921 133574

问题是Python似乎无法处理同一列表中的IP地址和整数.我只能按字母顺序排序.如何根据第4列的值进行正确的排序以下是我所拥有的:

lines = open("file.txt", "r").readlines()

lines=[x.split() for x in lines]

for i in lines:
 i.reverse()

lines.sort(cmp, reverse=True)

for i in lines:
 print i
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 6

以下是您的追求?

lines = open("file.txt", "r").readlines()
lines = [x.split() for x in lines]
lines.sort(cmp, key=lambda x:int(x[3]))
for i in lines:
  print i
Run Code Online (Sandbox Code Playgroud)