0

[{'a': 10}, {'b': 9}, {'c': 8}]

先比较value大小,然后找出 最大value 的key?
比如 这三个当中最大的是value 是10 找到了然后从而找出 a这个key
如何实现

2018-11-25 提问
3 个回答
0

已采纳
a = [{'a': 10}, {'b': 9}, {'c': 8}]
key = list(sorted(a,key = lambda c:-list(c.items())[0][1])[0].keys())[0]
#或者
key = sorted({j[1]:j[0] for i in a for j in i.items()}.items(),key=lambda x:-x[0])[0][1]
0
num = [{'a': 10}, {'b': 9}, {'c': 8}]
max_value = max(num, key=lambda x:list(x.values())[0])
print(max_value)
0

其实就是冒泡排序

a = [{'a': 2}, {'b': 9}, {'c': 8}]

max_index = 0
max_val = a[0].values()[0]

for k, v in enumerate(a):
    if v.values()[0] > max_val:
        max_val = v.values()[0]
        max_index = k

print(max_index, a[max_index].keys()[0])

推荐【跃轩】这种函数式解法,但是就不需要转list了

num = [{'a': 10}, {'b': 9}, {'c': 8}]
max_value = max(num, key=lambda x: x.values()[0])
print(max_value)

撰写答案

推广链接