我有一段代码,看起来像这样:如何在Python中对字典中存储的IP地址进行排序?
ipCount = defaultdict(int)
for logLine in logLines:
date, serverIp, clientIp = logLine.split(" ")
ipCount[clientIp] += 1
for clientIp, hitCount in sorted(ipCount.items), key=operator.itemgetter(0)):
print(clientIp)
和它种排序IP的,但像这样:
192.168.102.105
192.168.204.111
192.168.99.11
这是不够的,因为它不承认99是采用小于102或204,我想输出是这样的:
192.168.99.11
192.168.102.105
192.168.204.111
我发现this,但我不知道如何IMPL在我的代码中使用它,或者如果它甚至可能是因为我使用了字典。我在这里有什么选择?谢谢..
你也可以用'map'功能做到这一点:'排序(ipCount.items(),键=拉姆达X:元组(图(INT,x.split())“”)))' – Handyman5
我看到使用INET_ATON更新的答案是不同的:鲁的电话struct.unpack和费迪南德的没有。这个函数调用是否需要订购? –
@randomtoor:*不*必须。 'inet_aton'返回一个4个字符的字符串,Python知道如何比较和排序字符串。 –