python取出字典中最大值_Python从嵌套字典中提取最大值

我有一个表格的嵌套字典:

{'2015-01-01': {'time': '8', 'capacity': '5'},

'2015-01-02': {'time': '8', 'capacity': '7'},

'2015-01-03': {'time': '8', 'capacity': '8'} etc}

使用dictreader从csv文件创建字典.我希望能够做的是返回容量的最大值.所以在这种情况下8.

我可以用:

for k,v in input_dict.items():

if temp_max < int(v['capacity']):

temp_max = int(v['capacity'])

哪有效,但我想知道是否有更简洁的方法?我搜索并找到了提取与最大值相关的顶级键的方法,这当然不是我需要的.见下文:

max(input_dict, key=lambda v: input_dict[v]['capacity'])

这将返回’2015-01-03′,所以我想有一个简单的模型,上面的一个班轮将给我我需要的但是让我难过!

有任何想法吗?

解决方法:

你要

max(int(d['capacity']) for d in input_dict.values())

说明:

如果您不关心键,只需迭代嵌套的dicts(IOW外部字典的值)

你的内部dicts“容量”值也存储为字符串,我假设你想测试整数值.要找出差异,请检查以下内容:

>>> max(["1", "5", "18", "01"])

'5'

>>> max([1, 5, 18, 01])

18

>>>

标签:python,dictionary

来源: https://codeday.me/bug/20190528/1168452.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值