python获取cmd输出并生成字典_python – 如何在使用生成器表达式时从字典列表中获取项的键...

在la上使用max并提供可调用键,以便获得time_diff值最高的整个字典.

>>> la = [{'app_name': 'MKV58YCF8RR','time_diff': 17647},

... {'app_name': 'ZXG68HYW4BA','time_diff': 18132}]

>>>

>>> max_d = max(la, key=lambda d: d['time_diff']) # dict with max time_diff

>>> print('{d[app_name]} is {d[time_diff]}'.format(d=max_d))

ZXG68HYW4BA is 18132

thank you, i don’t understand how lambda is working here if there is no loop to iterate entire list.

不要被lambda分心.它被用作选择la的最大值的标准,但我们也可以将其写为正常函数.

>>> def criterion(dictionary):

... return dictionary['time_diff']

...

>>> max(la, key=criterion)

{'app_name': 'ZXG68HYW4BA', 'time_diff': 18132}

max迭代la,使用la的每个元素调用标准,并返回标准最大的la元素.

can I extract it just like you did with lambda, while using itemgetter instead?

当然!

>>> import operator

>>> max_d = max(la, key=operator.itemgetter('time_diff'))

>>> print('{d[app_name]} is {d[time_diff]}'.format(d=max_d))

ZXG68HYW4BA is 18132

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值