给出了......的字典
result={'A - - -': ['ALLY'], '- - A -': ['DEAL'], '- - - A': ['BETA'], '- - - -': ['COOL', 'ELSE', 'FLEW', 'GOOD', 'HOPE', 'IBEX']}
我如何为具有最多元素的键分配变量'Answer'?我试过......
inverse=[(value,key) for key, value in result.items()]
Answer=max(inverse)
但这让我无处可去。由于最大的家庭是['COOL','ELSE','FLEW','GOOD','HOPE','IBEX'],我希望能够将' - - - - '分配给'答案'。< / p>
答案 0 :(得分:4)
max()
采用key
关键字参数,允许您提供排序功能:
>>> answer, _ = max(result.items(), key=lambda x: len(x[1]))
>>> answer
'- - - -'
这比仅仅为了排序而构建一个额外的列表更有效。
答案 1 :(得分:-1)
您按列表本身排序而不是长度:
inverse = [(len(value), key) for key, value in result.items()]
Answer = max(inverse)[1]
答案 2 :(得分:-2)
import operator
dict(sorted(result.iteritems(), key=operator.itemgetter(1), reverse=True)[:1])
你有最大价值,现在只是分配一些东西吗?