在嵌套列表中查找最大值

用户名

我有以下脚本:

data = [['A', 4], ['B', 12], 
        ['C', 20], ['D', 38], 
        ['E', 88], ['F', 88]]
        
print(max(data, key=lambda x: x[1]))

我只能作为输出['E', 88]['E', 88], ['F', 88]由于两者具有相同的最高价值,我怎么能得到

丹妮·梅塞乔

您可以这样做:

data = [['A', 4], ['B', 12],
        ['C', 20], ['D', 38],
        ['E', 88], ['F', 88]]

lookup = {}

for pair in data:
    lookup.setdefault(pair[1], []).append(pair)


max_key = max(lookup)

print(lookup[max_key])

输出量

[['E', 88], ['F', 88]]

函数setdefault,执行以下操作(来自文档):

如果key在字典中,则返回其值。如果不是,请插入具有默认值的密钥,然后返回默认值。默认默认为无。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章