Python获取字典中最高值的键,而不使用内置函数
如何在不使用内置函数的情况下获得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)):
{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()
是一个内置函数。让我来编辑。