首页 > 解决方案 > 不使用 max() 和 min() 从字典中获取最大值和最小值

问题描述

我有一个包含两个值(id 和数量)的字典:

dict={5: [379], 11: [396], 6: [480], 19: [443]}

我想在不使用 max 和 min 函数的情况下从字典中找到具有最大和最小数量的 id。

所以想要的输出是:

max=6
min=5

标签: pythondictionarymaxmin

解决方案


您可以对 dict 的值进行排序并访问最大和最小的值,如下所示:

my_dict={5: [379], 11: [396], 6: [480], 19: [443]}


sorted_list = sorted([value for key,value in my_dict.items()])

max_val = sorted_list[-1][0]
min_val = sorted_list[0][0]

max_key = list(my_dict.keys())[list(my_dict.values()).index([max_val])]
min_key = list(my_dict.keys())[list(my_dict.values()).index([min_val])]

print(min_key, max_key)

推荐阅读