如何在python字典中比较键值对之间的值?

如何在python字典中比较键值对之间的值?,python,dictionary,Python,Dictionary,我的计划是在python dict中获取每个值,所以我已经这样做了 data = {} for _ in range(int(input())): n = input() s = float(input()) data.update({n: s}) >>> 2 >>> harry >>> 2 >>> barry >>> 3 >>> {'harry': 2.0,

我的计划是在python dict中获取每个值,所以我已经这样做了

data = {}
for _ in range(int(input())):
    n = input()
    s = float(input())
    data.update({n: s})


>>> 2
>>> harry
>>> 2
>>> barry
>>> 3
>>> {'harry': 2.0, 'barry': 3.0}
现在,我想比较一下这个dict中的,并返回max-min的结果。我该怎么做


提前感谢

您可以使用获取dict的值。这将为您提供一个非常好的iterable,您可以将其传递给或:


或者,您可以使用获取键值对,并将结果传递到
max
min
,并在对的第二部分(而不是第一部分)进行比较:

>>> max(data.items(), key=lambda kv: kv[1])
('barry', 3.0)
或者,您可以使用来代替手动编写
功能:

>>> max(data.items(), key=operator.itemgetter(1))
('barry', 3.0)

或者您可以获取键(使用或仅使用
data
本身,因为iterable字典是其键的可编辑项),并使用dict方法作为键函数:

>>> max(data, key=data.get)
'barry'

或者,如果您需要执行大量基于值的搜索,您可能需要创建一个反向字典:

>>> revdata = {value: key for key, value in data.items()}
>>> max(revdata)
3.0
>>> max(revdata.items())
(3.0, 'barry')

您可以使用获取dict的值。这将为您提供一个非常好的iterable,您可以将其传递给或:


或者,您可以使用获取键值对,并将结果传递到
max
min
,并在对的第二部分(而不是第一部分)进行比较:

>>> max(data.items(), key=lambda kv: kv[1])
('barry', 3.0)
或者,您可以使用来代替手动编写
功能:

>>> max(data.items(), key=operator.itemgetter(1))
('barry', 3.0)

或者您可以获取键(使用或仅使用
data
本身,因为iterable字典是其键的可编辑项),并使用dict方法作为键函数:

>>> max(data, key=data.get)
'barry'

或者,如果您需要执行大量基于值的搜索,您可能需要创建一个反向字典:

>>> revdata = {value: key for key, value in data.items()}
>>> max(revdata)
3.0
>>> max(revdata.items())
(3.0, 'barry')

如果只需要这些值:

min_value = min(data.values())
max_value = max(data.values())
如果需要密钥(稍后获取值很容易):


如果只需要这些值:

min_value = min(data.values())
max_value = max(data.values())
如果需要密钥(稍后获取值很容易):