如何对tup的字典值进行排序

2024-06-02 05:48:16 发布

您现在位置:Python中文网/ 问答频道 /正文

这基本上是同一个问题:

How do I sort a dictionary by value?

然而,我的字典值是一个有四个浮点数的元组。如何设置嵌套元组中元素的关键点?你知道吗

sorted_dict = {k: dict_cleanwhite[k] for k in 
    sorted(dict_cleanwhite.items(), key=operator.itemgetter(1), reverse=True)}

输出为:

KeyError: ('43 \n', (776.52, 466.3, 785.37504, 477.34))

如何选择嵌套元组元素776?你知道吗

开始编写返回元组元素的函数:

def get_item(op_obj):
    for v in op_obj:
        return v

问题是返回的类型operator.itemgetter没有被识别,这是猜测读取文档。你知道吗


Tags: inobj元素fordictionarysortdooperator
1条回答
网友
1楼 · 发布于 2024-06-02 05:48:16

有两个问题首先你不应该把它转换回正规的dict,它会失去排序功能。使用OrderedDict保持顺序

要按元组中的第一项排序,请使用lambda函数lambda i: i[1][0]

from collections import OrderedDict

sorted_dict = OrderedDict(sorted(dict_cleanwhite.items(), key=lambda i: i[1][0], reverse=True))

相关问题 更多 >