Python:确定包含列表/元组的字典中的最小值
我有下面的字典,里面有作为键的城市名称、存储在元组中的假坐标以及相应的累积成对距离值。我正在尝试编写一个函数,返回距离值最小的键的字典项,在本例中为29.550506953719747 我的字典:Python:确定包含列表/元组的字典中的最小值,python,dictionary,indexing,spatial,min,Python,Dictionary,Indexing,Spatial,Min,我有下面的字典,里面有作为键的城市名称、存储在元组中的假坐标以及相应的累积成对距离值。我正在尝试编写一个函数,返回距离值最小的键的字典项,在本例中为29.550506953719747 我的字典: d = {'Las_Vegas': ((11.0, 10.0), 31.571777946711684), 'Los_Angeles': ((4.0, 8.0), 29.550506953719747), 'San_Diego': ((7.0, 5.0), 32.023323250
d = {'Las_Vegas': ((11.0, 10.0), 31.571777946711684),
'Los_Angeles': ((4.0, 8.0), 29.550506953719747),
'San_Diego': ((7.0, 5.0), 32.02332325098408),
'Seattle': ((3.0, 26.0), 57.29385852375022)}
期望输出:
'Los_Angeles': ((4.0, 8.0), 29.550506953719747)
目前的做法:
min(d.items(), key = d.get)
这将返回:
('Seattle', ((3.0, 26.0), 57.29385852375022))
这应该起作用:
min(d.items(), key=lambda x: x[1][1])
当前解决方案的问题是d.items()
不返回d
的键,因此d.get
在调用时总是返回None
,因此min
无法真正完成其工作
x[1]
将获取键的dict值(x[0]
),然后x[1][1]
将访问元组的第二个值(您关心的值)。这应该可以:
min(d.items(), key=lambda x: x[1][1])
当前解决方案的问题是d.items()
不返回d
的键,因此d.get
在调用时总是返回None
,因此min
无法真正完成其工作
x[1]
将获得键的dict值(x[0]
),然后x[1][1]
将访问元组的第二个值(您关心的值)。非常感谢!我尝试了一系列不同的指数组合,但不知道每个指数值实际上在做什么。我想给你买杯啤酒!非常感谢你!我尝试了一系列不同的指数组合,但不知道每个指数值实际上在做什么。我想给你买杯啤酒!