如何在python字典中比较键值对之间的值?
我的计划是在python dict中获取每个值,所以我已经这样做了如何在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,
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())
如果需要密钥(稍后获取值很容易):