获取字典列表的最大值索引

获取字典列表的最大值索引,第1张

获取字典列表的最大值索引

告诉

max()
如何计算索引序列的最大值:

max(range(len(ld)), key=lambda index: ld[index]['size'])

这将返回

size
键最高的索引:

>>> ld = [{'prop': 'foo', 'size': 100}, {'prop': 'boo', 'size': 200}]>>> max(range(len(ld)), key=lambda index: ld[index]['size'])1>>> ld[1]{'size': 200, 'prop': 'boo'}

如果您一直想要该词典,则可以使用:

max(ld, key=lambda d: d['size'])

并同时获取索引 字典,可以

enumerate()
在这里使用:

max(enumerate(ld), key=lambda item: item[1]['size'])

更多演示:

>>> max(ld, key=lambda d: d['size']){'size': 200, 'prop': 'boo'}>>> max(enumerate(ld), key=lambda item: item[1]['size'])(1, {'size': 200, 'prop': 'boo'})

key
函数依次传递给输入序列中的每个元素,
max()
并将选择该
key
函数的返回值最高的元素。

使用单独的列表提取所有

size
值,然后将其映射回原始列表不是很有效(您现在需要遍历列表两次)。
list.index()
无法工作,因为它必须匹配整个字典,而不仅仅是其中一个值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存