现在有个需求是多个dict,找出其中每一个key对应的value的最大值,例如: m1 = {"a": 1, "b": 3}, m2 = {"a": 2, "b": 2}, key对应每一个的最大值应为{'a': 2, 'b': 3},代码类似于下面这样,有没有什么骚写法?普通的for就算了,业务中的场景数据结构为[{}, {}, {}, {}.],即list中的数据都是dict,要求出key对应的最大值
m1 = {"a": 1, "b": 3}
m2 = {"a": 2, "b": 2}
max_ = {}
for k, v in m1.items():
max_[k] = max(m2.get(k, -1), v)
想要骚点的写法?满足你
if __name__ == '__main__':
dic = {"a": 1, "b": 3, "c": 2}
print(list(dic.keys())[list(dic.values()).index(max(dic.values()))])
等下等下,好像理解错题意了,我再看看
我想说你的结果如果是要返回一个字典,那么for语句应该会比lambda和zip和list和dict的缝合怪效率更高。不要看不起for语句啊。