当前位置: 首页 > 面试题库 >

在Python中按值对嵌套字典进行排序,对余数按另一个值进行排序

穆劲
2023-03-14
问题内容

考虑这种字典格式。

{'KEY1':{'name':'google','date':20100701,'downloads':0},
 'KEY2':{'name':'chrome','date':20071010,'downloads':0},
 'KEY3':{'name':'python','date':20100710,'downloads':100}}

我希望字典首先按下载进行排序,然后对所有没有下载的项目按日期进行排序。显然,字典无法排序,我只需要列出可以迭代的键即可。

['KEY3','KEY1','KEY2']

我已经可以使用来按任一值对列表进行排序sorted,但是如何也按第二个值对列表进行排序?


问题答案:

key参数用于sorted()。它允许您指定一个函数,给定要排序的实际项目,该函数将返回一个应作为排序依据的值。如果此值为元组,则其排序方式类似于元组排序-
按第一个值,然后按第二个值。

sorted(your_list, key=lambda x: (your_dict[x]['downloads'], your_dict[x]['date']))


 类似资料:
  • 问题内容: 我有以下字典。 如何根据排序。因此,结果字典将如下所示。 问题答案: 从订购的项目元组列表构造一个: (假设Python 3,在Python 2中应该做同样的事情。)

  • 我有一个班的学生有以下领域: 字段“状态”可以有2个值:1。现在,2。缺席的 然后我有一个可观察的列表: 因此,我将学生存储在这个列表中。每个学生都有出席或缺席状态。 我需要按状态对这个观察列表进行排序。我希望目前状态的学生在该列表中名列第一。 有什么建议吗? 如果有任何帮助,我将不胜感激。

  • 问题内容: 我在基于所选嵌套文档中的值对文档进行排序时遇到问题。我正在使用这样的设置: 我要检索的是具有所选子代ID的文档,这些文档将按所选子代的大小进行排序。因此查询看起来像: 在此查询中,无论我输入“ order”字段(asc还是desc),返回的文档都是相同的顺序。可能是什么问题? 问题答案: 看起来您构建嵌套过滤器的方式不正确。您在这里列出的内容也不适合我。 但是当我替换这个: 有了这个:

  • 问题内容: 我有这样的数组 如何按return_fare asc和one_way_fare asc排序值? 我尝试了array_multisort()但最终却得到了混乱的数据。 Asort仅适用于一维数组,我需要按两个或多个值进行排序,我如何才能像SQL中那样实现此功能,按field1 asc,field2 asc排序? 问题答案: 是正确的函数,您必须以某种方式搞砸了: 如果您在PHP的手册页上

  • 本文向大家介绍在Python中按字典顺序对单词进行排序,包括了在Python中按字典顺序对单词进行排序的使用技巧和注意事项,需要的朋友参考一下 按字典顺序对单词进行排序意味着我们要首先按单词的第一个字母排列它们。然后,对于第一个字母相同的单词,我们将它们按第二个字母排列在该组中,依此类推,就像在语言的词典中一样(不是数据结构)。 Python有2个函数,按照这种类型的顺序进行排序和排序,让我们看看

  • 我想按值长度对Map进行排序。例如,我有这样的代码: 结果是: 所以我想做的是按值长度对这个Map进行排序,所以它返回: