Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:确定包含列表/元组的字典中的最小值_Python_Dictionary_Indexing_Spatial_Min - Fatal编程技术网

Python:确定包含列表/元组的字典中的最小值

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

我有下面的字典,里面有作为键的城市名称、存储在元组中的假坐标以及相应的累积成对距离值。我正在尝试编写一个函数,返回距离值最小的键的字典项,在本例中为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)
这将返回:

('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]
将访问元组的第二个值(您关心的值)。

非常感谢!我尝试了一系列不同的指数组合,但不知道每个指数值实际上在做什么。我想给你买杯啤酒!非常感谢你!我尝试了一系列不同的指数组合,但不知道每个指数值实际上在做什么。我想给你买杯啤酒!