如何提取最高值并打印出最高值键?使用for或while循环

2024-05-13 22:59:02 发布

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

使用for或while循环,如何提取最高值并打印出最高值键

data = {
    'Jeremy':73284, 
    'Hansel':8784.3, 
    'Uee':9480938.2, 
    'Seolhyun':984958.3, 
    'Ketsuno Ana':24131, 
    'Trump':45789
}

Tags: fordatahanselwhilejeremyanatrumpuee
2条回答

1.使用for或while循环(按要求)

>>> data = {'Jeremy': 73284, 'Hansel': 8784.3, 'Uee': 9480938.2, 'Seolhyun': 984958.3, 'Ketsuno Ana': 24131, 'Trump': 45789}
>>> 
>>> max_k = None
>>> max_v = None
>>> for k, v in data.items():
...     if max_v is None or v > max_v:
...         max_v = v
...         max_k = k
... 
>>> print(max_k)
Uee

2.使用^{}

Python 2

>>> import operator
>>> data = {'Jeremy':73284, 'Hansel':8784.3, 'Uee':9480938.2, 'Seolhyun':984958.3, 'Ketsuno Ana':24131, 'Trump':45789}
>>> max(data.iteritems(), key=operator.itemgetter(1))[0]
'Uee'

Python 3

>>> import operator
>>> data = {'Jeremy':73284, 'Hansel':8784.3, 'Uee':9480938.2, 'Seolhyun':984958.3, 'Ketsuno Ana':24131, 'Trump':45789}
>>> max(data.items(), key=operator.itemgetter(1))[0]
'Uee'

编辑

使用max()更简单

>>> data = {'Jeremy': 73284, 'Hansel': 8784.3, 'Uee': 9480938.2, 'Seolhyun': 984958.3, 'Ketsuno Ana': 24131, 'Trump': 45789}
>>> max(data)
'Uee'

您可以通过循环遍历键来找到最大值,在遍历字典时保存最大值的键。最后,打印键及其对应的值

像这样的办法应该行得通。它在python3中有一个for循环

data = { 'Jeremy':73284, 'Hansel':8784.3, 'Uee':9480938.2, 'Seolhyun':984958.3, 'Ketsuno Ana':24131, 'Trump':45789 }
maximum = 'Jeremy'
for key in data.keys():
    if data[key] > data[maximum]:
        maximum = key
print('Maximum:'+maximum+", the value is:"+str(data[maximum]))

相关问题 更多 >