![](/img/trans.png)
[英]How to print the key of highest value from the list's element of the dictionary?
[英]Print the highest value out of the minimums of list in dictionary
我当前的字典是:
{'NSW': [0.5, 0.5, 0.5, 1.4, 0.5, 0.5, 54.6, 61.0, 3.4, 38.8, 2.8, 1.2, 0.5, 2.6, 0.6, 0.5, 0.5, 1.8, 0.4, 4.4, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1.6, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1.6, 10.4, 0.5, 0.4, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 6.0, 0.5, 3.0, 13.8, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 7.8, 16.4, 0.2, 3.4, 0.5, 0.5, 0.4, 34.2, 0.2, 0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 1.6, 31.8, 4.4, 5.6, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.4, 0.2, 2.4, 2.8, 1.6, 7.8, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.8, 1.8], 'QLD': [0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 14.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 40.0, 0.2, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 4.4, 20.0, 0.6, 2.0, 3.4, 10.4, 9.8, 0.6, 0.6, 0.6, 0.6, 3.4, 7.2, 0.4, 0.6, 4.6, 0.6, 0.6, 8.4, 18.4, 5.0, 6.1, 2.3, 16.8, 3.0, 0.4, 24.0, 10.8, 11.2, 9.8, 0.6, 23.8, 0.6, 0.2, 1.6, 0.4, 0.6, 0.6, 0.4, 43.6, 6.8, 0.6, 20.8, 5.8, 10.6, 11.2, 5.4, 1.2, 0.6, 10.4, 1.6, 0.6, 0.8, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.2, 0.6, 4.4, 10.8, 5.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.2, 5.2, 1.4, 0.6, 0.6, 0.6, 0.6, 0.4, 0.6, 0.6, 5.4, 5.8, 7.4, 9.8, 5.2, 10.4, 3.4, 0.6, 1.0, 9.2, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 1.4, 0.2, 0.6, 0.6, 2.2, 0.6, 0.6, 0.4, 0.6, 3.0, 7.6, 5.0, 0.6, 0.6, 0.6, 1.2, 0.6, 0.6, 0.6, 1.2, 2.0, 1.0, 0.8, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 1.2, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6], 'VIC': [0.4, 0.0, 0.0, 0.0, 0.0, 6.4, 0.0, 0.0, 1.8, 0.0, 0.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6, 0.2, 0.0, 1.4, 0.0, 1.4, 0.0, 0.0, 0.0, 4.4, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.8, 0.0, 0.4, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.2, 5.0, 0.6, 4.2, 0.0, 0.0, 7.0, 0.0, 2.4, 2.0, 2.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.6, 0.0, 0.0, 4.2, 2.2, 0.0, 0.0, 0.0, 2.8, 2.0, 0.0, 0.2, 0.8, 1.8, 2.8, 7.2, 2.0, 0.6, 1.6, 0.0, 9.2, 0.6, 0.0, 7.8, 0.6, 0.0, 0.6, 0.2, 0.0, 0.0, 0.0, 0.4, 0.2, 4.8, 0.8, 3.2, 1.2, 0.2, 0.0, 0.2, 2.0, 1.4, 0.0, 21.4, 0.2, 0.0, 0.2, 0.0, 0.0, 0.0, 0.0, 0.4, 1.6, 0.4, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.4, 0.2, 0.0, 2.4, 0.2, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.6, 0.0, 0.0, 0.0, 0.2, 11.4, 0.2, 0.0, 0.4, 0.0, 4.4, 6.0, 0.4, 1.4, 1.4, 0.4, 0.0, 0.0, 3.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.6, 4.2, 0.0, 24.8, 0.0, 0.0, 0.0, 0.0, 1.0, 0.4, 3.4, 1.4, 0.2, 0.0, 0.0]}
有3个键,NSW,QLD和VIC。 我想从每个列表中找到最小值,然后通过指定一个值来打印这些“最小值”中的最大值
这是一个更大问题的一部分:到目前为止,我所做的是,
rainfall_and_state = {}
is_first_line = True
for row in open("climate_data_2017.csv"):
if is_first_line:
is_first_line = False
else:
values = row.split(",")
month = values[0].split("-")[1]
rainfall = float(values[6])
state = values[1]
if state in rainfall_and_state:
rainfall_and_state[state].append(rainfall)
else:
rainfall_and_state[state] = [rainfall]
minimum = {}
for key in rainfall_and_state:
rainfalls = rainfall_and_state[key]
minimum_rainfall = min(rainfall_and_state)
minimum[key] = minimum_rainfall
print(rainfall_and_state)
如果您希望我附上较大的问题,可以更好地解释,我可以这样做
每个列表的最小值
>>> l = [(k, min(v)) for k,v in d.items()]
[('VIC', 0.0), ('QLD', 0.2), ('NSW', 0.2)]
其中最大:
>>> max(x[1] for x in l)
0.2
要获取密钥,值:
>>> max(l, key=lambda x: x[1])
('QLD', 0.2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.