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

Python获取字典中最高值的键,而不使用内置函数,python,dictionary,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)):

如何在不使用内置函数的情况下获得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])
使用以下命令:

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
data={1:1,2:1,3:1,4:3,5:2}
maxVal=None
maxKey=-1
对于k in数据:
如果maxVal为None或maxVal<数据[k]:
maxVal=数据[k]
maxKey=k

下面的函数执行简单的循环思维字典并返回键的最大值,无需任何内置项

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))
def get_max_val_键(数据):
最大值=无
对于输入数据:
如果最大值为无或最大值<数据[键]:
最大值=数据[键]
最大键=键
返回max_键
数据={a':11,'b':12}
打印(获取最大值值键(数据))

您能为您已经尝试过的内容显示您的代码吗?循环所有条目,跟踪最大值fyi,您描述的情况更好地包含在
集合中。计数器
。有一个名为
num
的列表是一个令人困惑的变量名,可能与我相信的iteritems()重复也是一个内置函数..对吗?…如果我错了请纠正我如果列表中的所有元素都小于-1怎么办?如果为同一个值字段获得一个值较低的键,此解决方案将不起作用。这种方法假定您的字典值可以与int进行比较,并且永远不存在负键。使用-float(“inf”)作为第一个值来解决第二个问题。@spidy:Yes,
iteritems()
是一个内置函数。让我来编辑。