python_对 dict(字典)_的值(values)进行排序

本文介绍了如何使用Python对字典的值进行排序,通过sorted函数结合key参数实现。示例代码中,key=lambda y:y[1]指定按照字典项的值进行升序排序。sorted函数的其他参数如reverse可用来设置降序排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 对字典dict1按值(value)进行排序(默认由小到大)
# 下列代码中:key=lambda y:y[1] 简单理解为dict1.items中有两个元素:
# y[1]表示按照第二个元素进行排序
# sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数;
# 其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等
# key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,
# reverse=false时则是顺序,默认时reverse=false。

import operator

dict1 = {"a": 5, "b": 2, "c": 4, "d": 1, "e": 3, "f": 6}

# 方法1:
value1 = sorted(dict1.values())
print(value1)

value2 = sorted(dict1.items(), key=lambda y: y[1])
print(value2)

# 方法2:
value3 = sorted(dict1.items(), key=operator.itemgetter(1))
print(value3)


# 方法3:
list1 = []
list2 = []
for key, value in dict1.items():
    list1.append(value)
    list2.append(key)
dict1.clear()
for j in range(len(list1)):
    for i in range(len(list1)):
        if i < len(list1) - 1 and list1[i] > list1[i + 1]:
            list1[i], list1[i + 1] = list1[i + 1], list1[i]
            list2[i], list2[i + 1] = list2[i + 1], list2[i]
for i in range(len(list1)):
    dict1[list2[i]] = list1[i]
print(dict1)


# 方法4:
list1 = list(dict1.values())
list1.sort()
dict2 = {}
for i in list1:
    for k in dict1:
        if i == dict1[k]:
            dict2.setdefault(k, i)

print(dict2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值