📜  Python – 按元组键积对字典进行排序(1)

📅  最后修改于: 2023-12-03 15:04:12.600000             🧑  作者: Mango

Python – 按元组键积对字典进行排序

在Python中,您可以使用sorted()函数来排序字典。但是,它仅限于使用单个键来对字典排序。如何按元组的多个键对字典进行排序呢?在本篇文章中,我们将向您展示如何按元组键积对字典进行排序。

程序示例

以下是一个示例字典,其中包含三个键:“标签”、“日期”和“评论”:

my_dict = {
  ('chinese food', '2021-05-12'): 50,
  ('italian food', '2021-05-10'): 30,
  ('indian food', '2021-05-11'): 40
}

我们将使用Python内置的sorted()函数来按元组键积对字典进行排序。

sorted_dict = dict(sorted(my_dict.items(), key=lambda x: (x[0][1], x[0][0])))
print(sorted_dict)

这是输出,它按日期和标签对字典进行了排序:

{('italian food', '2021-05-10'): 30, ('indian food', '2021-05-11'): 40, ('chinese food', '2021-05-12'): 50}

从输出可以看出,字典按元组的第二个键(即日期)进行了排序,并且如果两个元组的第二个键相同时,会按第一个键(即标签)进行排序。要更改排序顺序,请更改lambda表达式中的顺序。

结论

在Python中,使用sorted()函数按元组键积对字典进行排序十分容易。只需使用lambda表达式指定要使用的键即可。无论是按单个键还是按多个键对字典进行排序,Python都使这项任务变得十分容易。