首先,我们可以使用内置函数max()
和min()
来获取字典的最大值和最小值。但是,max()
和min()
在操作字典时只会比较字典中的key而不会比较对应的value。因此,我们需要利用Python的一些其他特性来找到最大或最小的value对应的key。
解决这个问题的一种典型方法是:将字典中的key和value反转,将原来的value作为新字典的key,原来的key作为新字典的value。然后,我们就可以使用max()
和min()
函数找到新字典的最大、最小key(即原字典的最大、最小value),然后取出对应的value即可。
以下是这个过程的详细代码示例:
# 示例一:
scores = {"Alice": 55, "Bob": 78, "Cindy": 90, "David": 80}
reversed_scores = {v: k for k, v in scores.items()}
max_score = max(reversed_scores.keys())
min_score = min(reversed_scores.keys())
max_name = reversed_scores[max_score]
min_name = reversed_scores[min_score]
print(f"The highest score is {max_score}, which belongs to {max_name}.")
print(f"The lowest score is {min_score}, which belongs to {min_name}.")
# 示例二:
prices = {"apple": 5, "banana": 3, "orange": 4, "pear": 5}
reversed_prices = {v: k for k, v in prices.items()}
max_price = max(reversed_prices.keys())
min_price = min(reversed_prices.keys())
most_expensive_fruit = reversed_prices[max_price]
cheapest_fruit = reversed_prices[min_price]
print(f"The most expensive fruit is {most_expensive_fruit}, which costs {max_price} dollars per pound.")
print(f"The cheapest fruit is {cheapest_fruit}, which costs {min_price} dollars per pound.")
在以上示例中,我们可以看到,先通过字典推导式和items()函数将字典key和value反转,然后再使用max()和min()函数找到新字典的最大、最小key。最后从反转后的字典中取出对应的value,就实现了获取字典最大、最小value对应的key的功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python字典如何获取最大和最小value对应的key - Python技术站