我有几本词典:
a["size"] = 12
b["size"] = 10
c["size"] = 11
我需要变量名称(a,b或c),其中最大的"大小"进入 - >你会如何实现它?我可以用一些if语句来做。但是有更简单的方法吗?如果我需要最大的数字,那将很容易(使用max(..))。
答案 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]])