如何在有重复元素的排序字典中找到最小值?

2024-09-29 23:31:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,以键为项目,以值为价格。我得印最便宜的东西。 如果输入是dict_1={'mobile1':11000, 'mobile2':11000, 'mobile3':11000} 然后输出-mobile1:11000如果是一个连接值,那么打印哪个项目最先出现应该是输出。你知道吗

如果输入是{'mobile1':10000, 'mobile2':9000, 'mobile3':13000} 输出是-mobile2: 9000。你知道吗

我的代码适用于第二个输入集,但在值相同的第一个输入列表中失败。你知道吗

dict_1={'mobile1':11000, 'mobile2':11000, 'mobile3':11000}
mobile=list(dict_1.keys())
price=list(dict_1.values())
for key,val in dict_1.items():
    if dict_1[key]==min(price):
        print('{0}: {1}'.format(key, val))

预期产量:

mobile1: 11000

实际结果:

mobile1: 11000
mobile2: 11000
mobile3: 11000

Tags: 项目key代码列表字典价格valmobile
2条回答

你可以试试这个:

dict_1 = {'mobile1':11000, 'mobile2':11000, 'mobile3':11000}
ans = sorted(dict_1.keys(), key = lambda x: dict_1[x])[0]
print(str(ans) + ': ' + str(dict_1[ans]))

您可以使用min()函数来实现这一点。你知道吗

>>> dict_1={'mobile1':11000, 'mobile2':11000, 'mobile3':11000}
>>> min(dict_1, key=dict_1.get)
'mobile1'
>>> 

相关问题 更多 >

    热门问题