我必须在一个名为fav_num
的字典中找到最大值:
fav_num = {
"Ian": 3.14,
"Tobiloba": 5,
"Kaden": 10,
"Sophie": 18,
"Aarav": 17,
"Zach": 6,
"Ewen": 64,
"Nirvana": 25,
"Arjun": 3.14,
"Olivia": 7,
}
max = 0
for value in fav_num:
if fav_num[value] > max:
max = value
print(max)
我必须使用一个循环,所以我设置max等于0,对于每个值,它将其与前一个值进行比较。它给了我这个错误:
'>' not supported between instances of 'int' and 'str'
fav_num[value]不打印密钥对应的值吗?
您需要使用不同的方法来查找字典中具有值的键。
我提供的解决方案是简单地将最大值与字典中的最大值进行比较。
fav_num = {
"Ian": 3.14,
"Tobiloba": 5,
"Kaden": 10,
"Sophie": 18,
"Aarav": 17,
"Zach": 6,
"Ewen": 64,
"Nirvana": 25,
"Arjun": 3.14,
"Olivia": 7,
for k, v in fav_num.items():
if v==max(fav_num.values()):
print(k)
结果
Ewen
或
Python可以使用索引来保持字典的顺序。
这很麻烦,但有以下方法:
找到指数
max_ = list(fav_num.values()).index(max(fav_num.values()))
2。使用索引查找值
list(fav_num.keys())[max_]
结果
Ewen
方法1:遍历条目
您可以遍历字典中的每个项值对并找到最大值并返回它
for name, value in fav_num.items():
if value == max(fav_num.values()):
print(name, value)
方法二:一行
您可以在值列表中找到最大值,然后获得相应的键
list(fav_num.keys())[list(fav_num.values()).index(max(fav_num.values()))]
你可以访问这个页面了解更多关于字典函数的信息:Python字典方法
单行代码的灵感来自于这个页面:
使用max()
函数和key
参数获取最大值对应的键:
max(fav_num, key=fav_num.get)
如果必须使用for
循环,则可以跟踪最大值和与该值对应的键:
result = None
max_value = float('-inf')
for key, value in fav_num.items():
if value > max_value:
result = key
max_value = value
print(result)
这些输出:
Ewen