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

在Dicts列表中,找到一个公共Dict字段的min()值

谭池暝
2023-03-14
问题内容

我有这样的词典列表:

[{'price': 99, 'barcode': '2342355'}, {'price': 88, 'barcode': '2345566'}]

我想找到min()和max()价格。现在,我可以使用带有lambda表达式的键(在另一篇SO文章中找到)轻松地对它进行排序,因此,如果没有其他方法,我就不会陷入困境。但是,据我所见,Python中几乎总是有直接方法,因此这是我学习更多知识的机会。


问题答案:

有几种选择。这是简单明了的一个:

seq = [x['the_key'] for x in dict_list]
min(seq)
max(seq)

[编辑]

如果只想遍历列表一次,则可以尝试执行此操作(假设值可以表示为ints):

import sys

lo,hi = sys.maxint,-sys.maxint-1
for x in (item['the_key'] for item in dict_list):
    lo,hi = min(x,lo),max(x,hi)


 类似资料:
  • 问题内容: 如何以简洁明了的方式找出两个列表中的第一个公共元素(在本例中为“ 2”)?任何列表都可以为空,也可以没有公共元素-在这种情况下,没有一个很好。 我需要它来向新手展示python,所以越简单越好。 UPD:顺序对于我的目的并不重要,但让我们假设我正在寻找x中的第一个元素,该元素也出现在y中。 问题答案: 这应该很简单 几乎和它一样有效 (要获得更有效的解决方案,请检查Ashwini Ch

  • 我试图在我的ArrayList“list1”中找到公共元素 它包含“dateFrom”和“dateTo”之间的所有日期以及我的列表“list2” 其中dateTime是一个变量,它仅存储具有以下结构的文本文件中的日期: 我尝试使用来查找清单2中也在清单1中的所有日期,但我认为我的问题是清单2不是一个ArrayList。我该怎么解决呢?

  • 我正在学习最长公共子序列,使用以下算法: 公共级LCS{ 但是程序返回一个ErrorCharAt(未知来源),并且没有做任何事情。 另外,如果我将int i和j更改为0,那么下面的E将是索引-1和错误 我现在很迷路。有人能帮我吗?

  • 我有一个以字典格式存储的元素列表 例如。 如有任何帮助,不胜感激,谢谢!

  • 本文向大家介绍在C ++中的两个双链表中查找公共节点数,包括了在C ++中的两个双链表中查找公共节点数的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个双向链表。我们必须在两个双向链表中都找到公共节点的总数。因此,如果两个列表像[15、16、10、9、7、17]和[15、16、40、6、9],则有三个公共节点。 使用两个嵌套循环遍历两个列表,直到列表的末尾,对于列表中的每个节点,检查它是否与

  • 我有一个带有@RequestParam(required = false)的控制器,该控制器必须返回带有一些过滤器的所有药物(如果它们存在),该控制器的服务包含它的逻辑,但它不工作。主要的问题是,我有3个数组列表,但我无法找到所有三个数组列表中的所有元素:)