有这么个需求,获取一堆ip,想排个序。发现直接使用sorted排序得不到想要的结果,因为sorted默认是按照字符(ascll码)排序的。那么就拿出来今天的主角:
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。
从python2.4开始,list.sort()和sorted()函数增加了key参数来指定一个函数,此函数将在每个元素比较前被调用。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#创建一个list
iplist=['192.168.1.1','192.168.1.21','192.168.1.150']
#使用普通排序
ip=sorted(iplist)
print ip
#使用参数排序
ip=sorted(iplist,key=lambda s:int(s.split('.')[3]))
print ip
运行结果
网友评论