def split_ip(ip):
"""Split a IP address given as string into a 4-tuple of integers."""
return tuple(int(part) for part in ip.split('.'))
def my_key(item):
return split_ip(item[0])
items = sorted(ipCount.items(), key=my_key)
该split_ip()
函数采用IP地址字符串之类,'192.168.102.105'
然后将其转换为整数元组(192, 168, 102, 105)
。Python内置支持按字典顺序对元组进行排序。
:实际上,使用模块中的inet_aton()
函数可以更轻松地完成此操作socket
:
import socket
items = sorted(ipCount.items(), key=lambda item: socket.inet_aton(item[0]))