词典中的值不是列表。从字典中访问数据时只需删除[1]
。
comparer={'One': 195.706,'Two': 27,'Three': 38.5}
if comparer['One'] > comparer['Two']:
if comparer['One'] > comparer['Three']:
suggest = 'One'
else:
suggest = 'Three'
else:
if comparer['Two'] > comparer['Three']:
suggest = 'Two'
else:
suggest = 'Three'
print(suggest)
,
您要实现的目标是访问字典键的值并对其进行比较操作。
一旦使用comparer [key]获得字典值,您只需要执行比较操作即可。
您已经具有“一个”键的值:
In [3]: comparer['One']
Out[3]: 195.706
同样,您也可以获取其他键的值。
当您尝试使用索引位置值访问浮点值(如上)时,将发生错误,因为浮点值不可下标,所以该操作将不起作用。这种类型的元素访问(具有索引位置)可用于列表,其中列表中有多个项目,而您想访问其中之一:
In [1]: comparer={'One': 195.706,'Three': 38.5}
In [2]: comparer['One'][1]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-8c4e35f05dab> in <module>
----> 1 comparer['One'][1]
TypeError: 'float' object is not subscriptable
现在只需更改如下代码即可。在这里,我们以与上述类似的方式访问每个键的值并进行比较。
In [4]: comparer={'One': 195.706,'Three': 38.5}
...:
...: if comparer['One'] > comparer['Two']:
...: if comparer['One'] > comparer['Three']:
...: suggest = 'One'
...: else:
...: suggest = 'Three'
...: else:
...: if comparer['Two'] > comparer['Three']:
...: suggest = 'Two'
...: else:
...: suggest = 'Three'
...: print(suggest)
One
,
我建议您使用here
comparer = {'One':195.706,'Two':27,'Three':38.5}
# given an iterable of pairs return the key corresponding to the greatest value
# def argmax(pairs):
# return max(pairs,key=lambda x: x[1])[0]
# given an iterable of values return the index of the greatest value
# def argmax_index(values):
# return argmax(enumerate(values))
更新
def keymax(dictionnaire):
return max(dictionnaire.items(),key=lambda x : x[1])[0]
print(comparer)
,
您可以尝试以下方法:
if comparer["one"] > comparer["two"] and comparer["one"] > comparer["three"]:
suggest = "One"
elif comparer["two"] > comparer["one"] and comparer["two"] > comparer["three"]:
suggest = "Two"
else:
suggest = "Three"
print(suggest)
或者您可以尝试最简单的方法:
max_value = max(comparer)
get_key = {v:k for k,v in comparer.items()}
suggest = get_key[max_value]
print(suggest)
,
我认为您正在以错误的方式进行操作。
您可以从字典中获取值:
values = comparer.values()
然后根据您的需要打印这些值的最大值或将其分配以建议:
suggest = max(values)
print(suggest)
本文链接:https://www.f2er.com/2980626.html