Python在字典中获取最高值的键,而不使用内置函数

时间:2016-03-01 05:25:37

标签: python dictionary

如何在不使用内置函数的情况下在python字典中获取最高值的

{1: 1, 2: 1, 3: 1, 4: 3, 5: 2} **Expecting answer to be 4**

这可以通过

轻松完成
max_key = max(check, key=lambda k: check[k])

但是想在没有内置函数的情况下尝试(没有max,lambda)

非常感谢任何帮助

我的完整代码

def array(num):
    check={}
    for i in range(len(num)):
        if num[i] in check:
            check[num[i]]+=1
        else:check[num[i]]=1

    max_key = max(check, key=lambda k: check[k])



array([1,2,3,4,5,4,5,4])

2 个答案:

答案 0 :(得分:4)

下面的函数执行简单的循环思想字典并返回键的最大值,没有任何内置

def get_max_val_key(data):
    max_value = None
    for key in data:
        if max_value is None or max_value < data[key]:
            max_value = data[key]
            max_key = key
    return max_key



data = {'a':11, 'b':12}
print(get_max_val_key(data))

答案 1 :(得分:0)

使用此:

data= {1: 1, 2: 1, 3: 1, 4: 3, 5: 2}
maxVal= None
maxKey= -1
for k in data:
    if maxVal is None or maxVal< data[k]:
        maxVal= data[k]
        maxKey= k