我有一段代碼,看起來像這樣:如何在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知道如何比較和排序字符串。 –