所以我found要获得最大字典值,我可以这样做:
dict[max(dict, key=dict.get)]
我的字典看起来像这样: {article_title:链接到多少篇不同文章的数量}
例如: {'10世纪':2,'波兰':0,'墨西哥':11}
从group()我得到一个元组列表(article_title,article object),例如: [(墨西哥,墨西哥()),(波兰,波兰())]
对于该组,我想检查article_title可能具有的最大值。
但是如何查找特定键组的字典值? 我真的迷路了...我认为我所写的内容没有意义:
dict = my dictionary
group_of_keys = group() # returns specific list of tuples. The first term of the tuple is my key, the second is irrelevant
max_value = dict[max(dict[group_of_keys], key=dict.get)]
请帮忙!
答案 0 :(得分:3)
我假设group()
返回list of keys
。如果是这样,你可以获得这些键的值,然后找出它们的最大值。
max(map(dict.get, groups()))
编辑:当您澄清group()
返回(article_title, article_object)
的元组并且您希望article_title
为关键时,我们可以做的就是获取那些值键为dict.get(title) for title, article in group()
,然后在这些值中找到最大值。所以,你的问题的答案是:
max(dict.get(title) for title, article in group())
小注意:dict
不是变量的好名称,因为它会影响python的保留关键字dict
。
答案 1 :(得分:1)
按照组I,我假设您的意思是键的一个子集
my_dict = {} # your dictionary
group = get_group(my_dict)
# since your group returns tuples of (key, something else)
group = [ i[0] for i in group ]
max_group_key = max(group, my_dict.get)
max_group_value = my_dict[max_group_key]
为了清楚起见,我正在拿一本月份字典到温度。
max_key
会告诉我温度最高的那个月。
max_group_key
会告诉我该组中温度最高的月份。
temperature = {
"jan": 17, "feb": 18, "mar": 19, "apr": 24, "may": 26,
"jun": 25, "jul": 22, "aug": 21, "sep": 20, "oct": 20,
"nov": 18, "dec": 15
}
# hottest month
max_key = max(temperature, key=temperature.get)
max_val = temperature[max_key]
print("hottest month: {0}, temperature: {1}".format(max_key, max_val))
# only for a few months
group = [ ("jan", "foo"), ("feb", "bar"), ("jun", "baz") ]
group = [ i[0] for i in group ]
max_group_key = max(group, key=temperature.get)
max_group_val = temperature[max_group_key]
print("hottest month: {0}, temperature: {1}".format(max_group_key, max_group_val))