python列表和字典排序(sort和sorted区别)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/love_image_xie/article/details/84645974

sort和sorted区别:

1、sort是应用在list上的,而sorted可应用于任何可迭代的对象上;

2、list的sort方法是在原始list上操作,而sorted返回新的list;

3、sort使用ls.sort(),而sorted使用sorted(ls);

语法:

sorted(dic.iteritems(), key=lambda d:d[1], reverse=False)

dic.iteritems()        //返回一个元组(tuple),每个tuple对应一对(key,value)

key=lambda d:d[1]    //按照上述返回元组的哪一维排序,此处的 'd' 可任意换为其它的字母

reverse=false           //升序排                         reserve=true                //反序排

L.sort(key=lambda x:x[1],reserve=True)

实例:

sorted举例:

dic={'a':31,'b':21,'c':3,'33':56,'d':0}
print(sorted(dic.items(), key=lambda a:a[0]))
print(sorted(dic.items(), key=lambda a:a[1]))
print(sorted(dic.items(), key=lambda a:a[0], reverse = False))

输出:
[('33', 56), ('a', 31), ('b', 21), ('c', 3), ('d', 0)]
[('d', 0), ('c', 3), ('b', 21), ('a', 31), ('33', 56)]
[('33', 56), ('a', 31), ('b', 21), ('c', 3), ('d', 0)]


sort举例:

L=[('a',1),('b',3), ('e',2),('d',7),('c',5)]
L.sort(key=lambda x:x[0], reverse=True)
print(L)

输出:[('e', 2), ('d', 7), ('c', 5), ('b', 3), ('a', 1)]

猜你喜欢

转载自blog.csdn.net/love_image_xie/article/details/84645974