Python:确定包含 lists/tuples 的字典中的最小值

Python: Determine minimum value within a dictionary that contains lists/tuples

我有以下字典,其中包含作为键的城市名称、存储在元组中的假坐标以及相应的累积成对距离值。我正在尝试编写一个函数,该函数 returns 具有最小距离值的键的字典项,在这种情况下为 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.02332325098408),
     'Seattle': ((3.0, 26.0), 57.29385852375022)}

期望的输出:

'Los_Angeles': ((4.0, 8.0), 29.550506953719747)

当前方法:

min(d.items(), key = d.get)

这个returns:

('Seattle', ((3.0, 26.0), 57.29385852375022))

这应该有效:

min(d.items(), key=lambda x: x[1][1])

您当前解决方案的问题是 d.items() 没有 return d 的键,所以 d.get 总是 returns None 被调用时,所以 min 不能真正完成它的工作。

x[1] 将获取键 (x[0]) 的字典值,然后 x[1][1] 将访问元组的第二个值(您关心的那个)。