美文网首页
[基础] 在Python中获得字典列表中最大值与最小值

[基础] 在Python中获得字典列表中最大值与最小值

作者: 天线嘟嘟茄 | 来源:发表于2021-08-12 00:45 被阅读0次

假设有字典列表:

dict_list = [{'price': 99, 'barcode': '2342355'}, {'price': 88, 'barcode': '2345566'}, {'price': 77, 'barcode': '2342377'}]

要求price最大值最小值

最原始的方法:

min_price, max_price = 100, 0
for item in dict_list:
    if item['price'] < min_price:
        min_price = item['price']
    if item['price'] > max_price:
        max_price = item['price']
print(max_price, min_price)

刚学Python时会这么写...

先使用列表推导式(list comprehension), 再使用内置函数求最大值最小值:

seq = [item['price'] for item in dict_list]
print(max(seq), min(seq))

这种方式要遍历列表多次.

使用生成器表达式(generator expression)

min_price, max_price = 100, 0
for x in (item['the_key'] for item in dict_list):
    min_price,max_price = min(x,min_price),max(x,max_price)
print(max_price, min_price)

更简单的写法:

max_price = max(item['price'] for item in dict_list)
min_price = min(item['price'] for item in dict_list)
print(max_price, min_price)

This avoids the overhead of sorting the list -- and, by using a generator expression, instead of a list comprehension -- actually avoids creating any lists, as well. Efficient, direct, readable... Pythonic!

返回整个dict, 不仅仅是price:

max_priced_item = max(dict_list, key=lambda x:x['price'])
min_priced_item = min(dict_list, key=lambda x:x['price'])
print(max_priced_item, min_priced_item)
# {'price': 99, 'barcode': '2342355'} {'price': 77, 'barcode': '2342377'}

总结自: In List of Dicts, find min() value of a common Dict field

源网页: 百度快照

相关文章

  • [基础] 在Python中获得字典列表中最大值与最小值

    假设有字典列表: 要求price的最大值与最小值 最原始的方法: 刚学Python时会这么写... 先使用列表推导...

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • 字典的创建及操作方法

    1、字典的特点 字典:是python中的无序的对象集合。字典与列表的区别是:字典中的数据是无序的,而且字典中的元素...

  • Python经典面试题

    Python中5种标准数据类型有哪些? Python中的元组和列表有什么区别? 如何从字典中获得所有的keys? ...

  • Python基础-元组,字典

    Python基础-元组(tuple),字典 元组: 数据结构与列表类似,其中元素可以有不同的类型,但是元组中的元素...

  • Python_基础_数据类型_2

    在看完基础数据类型后,我们看看列表和字典类型 list Python 中 list 和 java 中的 List ...

  • Python:嵌套

    1.在列表中嵌套字典 字典列表:将字典存储在列表中 2.在字典中嵌套列表 将列表存储在字典中每当需要在字典中讲一个...

  • 字典运算

    字典运算 问题 在数据字典中执行一些计算操作(比如求最小值、最大值、排序)? 解决 对字典值执行计算操作,通常需要...

  • 2018-10-30

    Python字典学习 在Python中,列表和字典常用于存储数据。 日常生活中,经常会去买饮料。饮料有果汁、咖啡、...

  • python中的列表解析与列表,字典,集合筛选数据

    python中的列表解析与列表,字典,集合筛选数据 1.列表list randint()生成指定范围下(-100,...

网友评论

      本文标题:[基础] 在Python中获得字典列表中最大值与最小值

      本文链接:https://www.haomeiwen.com/subject/egekbltx.html