1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
def ip2cle(ip):
c1, c2, c3, c4 = ip.split('.')
return int(c4) + int(c3)*256 + int(c2)*256**2 + int(c1)*256**3
def cle2ip(cle):
values = [str(cle >> 24 & 255), str(cle >> 16 & 255), str(cle >> 8 & 255), str(cle & 255)]
return '.'.join(values)
def getSortedIps(ips):
cles = [ip2cle(ip) for ip in ips]
cles.sort()
ips = [cle2ip(cle) for cle in cles]
return ips
ips = ["192.9.202.15", "192.9.202.11", "192.9.202.8", "192.9.202.5", "191.9.202.15", "255.9.202.11", "192.7.0.8", "191.4.0.4"]
assert getSortedIps(ips) == ['191.4.0.4', '191.9.202.15', '192.7.0.8', '192.9.202.5', '192.9.202.8', '192.9.202.11', '192.9.202.15', '255.9.202.11'] |
Partager