比较Python词典 - >最大的进入

时间:2016-02-09 08:25:37

标签: python dictionary

我有几本词典:

a["size"] = 12    
b["size"] = 10
c["size"] = 11

我需要变量名称(a,b或c),其中最大的"大小"进入 - >你会如何实现它?我可以用一些if语句来做。但是有更简单的方法吗?如果我需要最大的数字,那将很容易(使用max(..))。

3 个答案:

答案 0 :(得分:4)

>>> a = {'size': 12}
>>> b = {'size': 10}
>>> c = {'size': 11}
>>> l = locals()
>>> max("abc", key=lambda x: l[x]['size'])
'a'

答案 1 :(得分:0)

使用以下代码获取最大尺寸的dict变量名称,而不知道变量名称

items = locals()

biggest = 0
a = {'size': 0}
b = {'size': -1}
c = {'size': 5}
d = {'size': 10}
e = {'size': 20}
for key in items.keys():
    if type(items[key]) == dict:
        size = items[key].get('size')
        if size is not None and items[key].get('size') > biggest:
            biggest = size
            name = key
print name

答案 2 :(得分:0)

你也可以使用列表理解:

val=max([x["size"] for x in [a,b,c]])