每日一模块-Python字典按key、value排序问题详解
现有字典d={'a':24, 'b':32, "c":12}请分别按字典只中的key、value排序?
sorted(iterable, key, reverse) 三个参数,iterable是可迭代对象,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是正序, 默认reverse=False.
一、按key排序(只是输出的key值的排序列表):
sorted(d.keys(), reverse=True/False)
二、按value排序(只是输出的value值的排序列表):
sorted(d.values(), reverse=True/False)
sorted函数返回值是list,上述两种也可以用于提取key或value的列表
三、 按key:value中的key排序:
sorted(d.items(),key=lambda item:item[0], reverse=True/False) 输出[(key,value), (key,value)]的排序
四、 按key:value中的value排序排序:
sorted(d.items(),key=lambda item:item[1], reverse=True/False) 输出[(key,value), (key,value)]的排序
五、 如果想将sorted的结果还以字典形式输入,直接转化成字典即可,如:
sort_dict = dict(sorted(d.items(),key=lambda item:item[0], reverse=True/False))
人生苦短,我用python!