python—sort()与sorted()函数

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)]
>>> 







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值