我的python函数:
def searchMAX(Dict):
v=list(Dict.values())
return list(Dict.keys())[v.index(max(v))]
我无法在java中重现它以了解其输出是什么
如果我这样做:
myDico ={0:0.0}
myDico.update({1:1.2})
myDico.update({2:11.2})
myDico.update({3:17.2})
myMax = searchMAX(myDico)
print(*myMax, sep='\n')
我有这个错误:
TypeError: print() argument after * must be an iterable, not int
print(myMax, sep'\n')
仅重新 3 而不是列表:(?
答案 0 :(得分:2)
假设Dict
是Python dict
,那么:
v = list(Dict.values())
在Dict
的值上创建一个迭代器列表,并将其赋予v
然后
return list(Dict.keys())[v.index(max(v))]
列出Dict
的键,并且通过查找最大值的索引(v.index(max(v))
)返回与其关联的最大值的键并在列表中使用该索引。
因此searchMAX
返回一个键,在你的情况下,它总是一个整数,你不能将它传递给带有*
的print()。你应该这样做:
print(Max, sep='\n')