有這么個(gè)需求梳凛,獲取一堆ip,想排個(gè)序。發(fā)現(xiàn)直接使用sorted排序得不到想要的結(jié)果尝盼,因?yàn)閟orted默認(rèn)是按照字符(ascll碼)排序的。那么就拿出來今天的主角:
Python list內(nèi)置sort()方法用來排序佑菩,也可以用python內(nèi)置的全局sorted()方法來對(duì)可迭代的序列排序生成新的序列盾沫。
從python2.4開始,list.sort()和sorted()函數(shù)增加了key參數(shù)來指定一個(gè)函數(shù)殿漠,此函數(shù)將在每個(gè)元素比較前被調(diào)用赴精。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#創(chuàng)建一個(gè)list
iplist=['192.168.1.1','192.168.1.21','192.168.1.150']
#使用普通排序
ip=sorted(iplist)
print ip
#使用參數(shù)排序
ip=sorted(iplist,key=lambda s:int(s.split('.')[3]))
print ip
運(yùn)行結(jié)果