我正在努力学习生成器表达式以及它们是如何工作的。你知道吗
我有一本这样的词典
la = [ {'app_name': 'MKV58YCF8RR','time_diff': 17647},
{'app_name': 'ZXG68HYW4BA','time_diff': 18132}]
我想从中得到time_diff
的最大值,我使用了max
max_val = max(value["time_diff"] for value in la)
这给了我
18132
但是我还想打印这个app_name
的time_diff
。你知道吗
预期输出:
ZXG68HYW4BA is 18132
电流输出
18132
有人能告诉我怎样才能同时得到app_name
键吗?你知道吗
编辑:
我想我需要使用map
,但不知道如何使用?你知道吗
首先确定最大值,就像您所做的那样,然后选择具有此值的项:
next()
从iterable中选择下一项。你知道吗在这种特殊情况下,iterable正好是一个项长,但理论上可能有多个项的
time_diff
等于max_time_diff
,因此next()
确保只选取第一个匹配项。你知道吗在
la
上使用max
,并提供一个可调用的key
,这样就可以得到time_diff
值最高的整个字典。你知道吗不要被
lambda
分心。它被用作选择la
最大值的标准,但我们也可以将它作为一个普通函数来编写。你知道吗max
迭代la
,用la
的每个元素调用criterion
,并返回la
的元素,其中criterion
是最大的。你知道吗当然!你知道吗
相关问题 更多 >
编程相关推荐