您的位置:首页 > 编程语言 > Python开发

python—sort()与sorted()函数

2013-10-30 21:16 393 查看
sort()函数为list的内建函数,其只能被用于list列表。

功能:对列表进行递增的排序,改变list本身。

>>> list1 = [1,3,5,2,6,8,23,0]
>>> list1
[1, 3, 5, 2, 6, 8, 23, 0]
>>> list1.sort()              #递增排序,改变本身
>>> list1
[0, 1, 2, 3, 5, 6, 8, 23]
>>>


list.sort()函数应用比较局限。

sorted()函数往往是比较好的选择,sorted()可以应用于任何集合。

>>> list2 = [3,4,2,1,-3,9,0,23]
>>> list2
[3, 4, 2, 1, -3, 9, 0, 23]
>>> sorted(list2)             #不改变list2[],返回其递增排序副本
[-3, 0, 1, 2, 3, 4, 9, 23]
>>> list2                      #可以看到list2[]本身为改变


下面将详细讲解sorted()函数

根据“键”或“键值”进行不同的排序:

       函数原型:sorted(dict , key/value , reverse)

      注释:dict 为排序对象; key:键   value:键值 ;

                   reverse:表明升序还是降序。 True--降序 , false--升序(默认);

>>> list3 = [-2,-3,3,5,2,10,34,10]
>>> list3
[-2, -3, 3, 5, 2, 10, 34, 10]
>>> sorted(list3 , reverse = False)           #升序
[-3, -2, 2, 3, 5, 10, 10, 34]
>>> list3
[-2, -3, 3, 5, 2, 10, 34, 10]
>>> sorted(list3 , reverse = True)             #降序
[34, 10, 10, 5, 3, 2, -2, -3]
>>> list3
[-2, -3, 3, 5, 2, 10, 34, 10]
>>>


对于如何选择key,或者value呢?可以选择lambda()函数。

>>> dict1 = {'da':12 , 'ng':23 , 'zhi':9 , 'le':45 , 'i':90}
>>> dict1
{'zhi': 9, 'le': 45, 'ng': 23, 'i': 90, 'da': 12}
>>> print dict1.iteritems()         #返回字典键值对的元组集合
<dictionary-itemiterator object at 0x02125C60>
>>> for obj in dict1.iteritems():
print obj

('zhi', 9)
('le', 45)
('ng', 23)
('i', 90)
('da', 12)
>>> sorted(dict1.iteritems() , key = lambda d:d[0] , reverse = False) #按key升序
[('da', 12), ('i', 90), ('le', 45), ('ng', 23), ('zhi', 9)]
>>> sorted(dict1.iteritems() , key = lambda d:d[1] , reverse = False)#按value升序
[('zhi', 9), ('da', 12), ('ng', 23), ('le', 45), ('i', 90)]
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: