python中的sort和sorted函数

1、在python3中,sort是对于列表类型的排序函数,函数原型为:L.sort(key=None, reverse=False),该方法没有返回值,是对列表的就地排序。

  • key-- 是指用来比较的关键字,可以说是列表元素的一个权值。key一般用来接受一个函数(或者匿名函数),这个函数只接受一个元素,并返回其权值

  • reverse-- 是否逆序排列

a = ['Google', 'Runoob', 'Taobao', 'Facebook']
 
a.sort() # 默认根据第一个字母排序
print(a)
 
a.sort(key= lambda x : x[1]) # 根据第二个字母排序
print(a)
 
def takeSecond(x):
    return x[1]
a.sort(key=takeSecond)
print(a)
 
输出:['Facebook', 'Google', 'Runoob', 'Taobao']
        ['Facebook', 'Taobao', 'Google', 'Runoob']
        ['Facebook', 'Taobao', 'Google', 'Runoob']            

2、python3中sorted函数取消了对cmp的支持,sorted 可以对所有可迭代的对象进行排序操作,尤其是可以对字典进行排序,其形式为:sorted(iterable, key=None, reverse=False)。sorted函数是有返回值的。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
d = {'lily':25, 'wangjun':22, 'John':25, 'Mary':19}
sorted_keys = sorted(d) # 对字典而言,默认是对keys进行排序
print(sorted_keys)
sorted_keys1 = sorted(d, key=lambda x : x[1])
print(d_new2)
 
d_new = sorted(d.items(), key=lambda x: x[1], reverse=True) # 根据年龄排序,返回列表形式
print(d_new)
d_new = dict(d_new) # 使用内置函数把嵌套列表转换成字典
print(d_new)
 
sorted_values = sorted(d.values(), key=lambda x:x, reverse=False) # 排序值
print(sorted_values)
 
输出:
    ['John', 'Mary', 'lily', 'wangjun']
    ['wangjun', 'Mary', 'lily', 'John']
    [('lily', 25), ('John', 25), ('wangjun', 22), ('Mary', 19)]
    {'lily': 25, 'John': 25, 'wangjun': 22, 'Mary': 19}
    [19, 22, 25, 25]

3、互换字典的键和值

d = {'lily':25, 'wangjun':22, 'John':25, 'Mary':19}
d_new = {v:key for key,v in d.items()}
print(d_new)
 
输出:{25: 'John', 22: 'wangjun', 19: 'Mary'}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值