刚离开具有最小值的密钥,我无法使用min()
函数。
移动OP尝试的代码: -
for i in key:
if dictionary[i]<dictionary[key]:
dictionary.pop(key)
elif dictionary[i]==dictionary[key]:
print (dictionary[i])
来自其他评论的代码:
dictionary={'A': 3, 'B': -2, 'C': -1, 'D': -3}
for key in dictionary:
print ("Keys and values>", key,end= '')
print (dictionary[key])
print (dictionary)
for i in key:
if dictionary[i]<dictionary[key]:
dictionary.pop(key)
elif dictionary[i]==dictionary[key]:
print ("The minimum is",dictionary[i])
答案 0 :(得分:0)
你可以尝试一下。它使用any
函数将每个键的值与除其自身之外的所有其他值进行比较。如果找到的any
值小于该值,则弹出key
。
>>> my_dict = {1: 2, 2: 3, 3: 4}
>>> for key, value in my_dict.items():
if any(value > value1 for key1, value1 in my_dict.items() if key1 != key):
my_dict.pop(key)
3
4
>>> my_dict
{1: 2}
如果传递给any
的{{1}}中的至少一个值为True
,则 list
函数会返回True
。
例如: -
any([0, 0, False, True]) # Will print True
any([0, 0, False, False]) # Will print False
更新: -
如果您不想使用any
函数,可以将any
函数的for循环移到外面,并仅在该循环中进行测试: -
my_dict = {1: 2, 2: 3, 3: 4}
for key, value in my_dict.items():
for key1, value1 in my_dict.items():
if key1 != key and value > value1:
my_dict.pop(key)
print my_dict
答案 1 :(得分:0)
您可以使用dict.items()来获得最小功能。
my_dic = {...}
print min(my_dic.item(), key = lambda x: x[1])[0]