python 使用sorted将字典按照其value大小排序

'''
        如下列表
                people = [
                                {“name”:”yoyo”, “age”: 20},
                                {“name”:”admin”, “age”: 28},
                                {“name”:”zhangsan”, “age”: 25},
                        ]
                按年龄age从⼩到⼤排序
                
                
                sorted函数按key值对字典排序

                sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

                其中iterable表示可以迭代的对象也就是需要排序的变量,例如可以是 dict.items()、dict.keys()等,
                key是一个函数,用来选取参与比较的元素,
                reverse则是用来指定排序是倒序还是顺 序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。
                
                使用sorted将字典按照其value大小排序
                             sorted(iterable, key=lambda x: x['value'], reverse=True)
                

'''

people = [
            {"name":"yoyo", "age": 20},
            {"name":"admin", "age": 28},
            {"name":"zhangsan", "age": 25},
        ]
print(sorted(people, key=lambda x: x['age'], reverse=True))

 

 

'''
d = {"name":"zs", "age":18,"city":"深圳", "tel":"1362626627"} 字典根据键从⼩到⼤排序

'''

def test():

d = {"name":"zs", "age":18,"city":"深圳", "tel":"1362626627"}

# print(d.items()) # dict_items([('name', 'zs'), ('age', 18), ('city', '深圳'), ('tel', '1362626627')])

# 将字典中的数据进行排序
dict2 = sorted(d.items(),key=lambda d:d[0],reverse=False) # [('age', 18), ('city', '深圳'), ('name', 'zs'), ('tel', '1362626627')]

# 排序之后的数据类型会变成列表类型 ,这里将数据重新转换成字典

new_dict = {}
for i in dict2:
new_dict[i[0]] = i[1]
return new_dict

print(test())

 

 

 

 

posted @ 2022-04-29 17:06  大熊童鞋  阅读(239)  评论(0编辑  收藏  举报