Nice problem! Here is my solution (for Python 2.x) iplist = [ "195.168.1.123", "192.168.1.123", "192.168.1.111", "192.168.1.11", ] lot = [tuple(map(int, ip.split("."))) for ip in iplist] lot.sort() iplist1 = [".".join(map(str, addr)) for addr in lot] print iplist1 Sincerely yours, Roman A.Suzi -- - Petrozavodsk - Karelia - Russia - mailto:rnd@onego.ru -