Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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_Algorithm_Dictionary - Fatal编程技术网

Python 如何在该词典的排列列表中查找词典?

Python 如何在该词典的排列列表中查找词典?,python,algorithm,dictionary,Python,Algorithm,Dictionary,如果我有这样一本机场位置词典: airports = {"JFK": (40.639751, -73.778925, 0.9488), "AAL":(57.092789, 9.849164, 0.134), "CDG": (49.012779, 2.55, 1), "SYD": (-33.946111, 151.177222, 0.7253), "LHR": (51.4775, -0.461389, 1.4029)} 我从列表中得到了这条格言的所有排列方式: from iter

如果我有这样一本机场位置词典:

airports = {"JFK": (40.639751, -73.778925, 0.9488), "AAL":(57.092789, 9.849164, 0.134), "CDG": (49.012779, 2.55, 1),
        "SYD": (-33.946111, 151.177222, 0.7253), "LHR": (51.4775, -0.461389, 1.4029)}
我从列表中得到了这条格言的所有排列方式:

from itertools import permutations

print(list(permutations(airports, 5)))
这给了我:

[('AAL', 'SYD', 'JFK', 'LHR', 'CDG'), ('AAL', 'SYD', 'JFK', 'CDG', 'LHR'), ('AAL', 'SYD', 'LHR', 'JFK', 'CDG')...#all permutations
如何对排列列表中每个机场的gps坐标进行字典查找

另一方面,我想做的是创建这120个排列,这样我就有了人们在这些机场之间旅行的所有可能方式,然后计算每个机场之间旅行的大圈距离(然后将该距离(以公里为单位)乘以字典中的第三个值,将其转换为欧元)。120次四航段旅行的每一次费用都计算出来,以找到访问这五个城市的最便宜方式

如果您能帮我查字典,我们将不胜感激


感谢您访问GPS坐标,您可以利用Python的iterable循环结构:

for perm in permutations:
    for airport in perm:
         print(airports.get(airport))
然后,您询问关于此数据结构的计算,寻找最便宜的路径。此算法称为旅行商问题,是一个经典的计算机科学难题。我建议您阅读更多


你知道如何在字典中查找值吗?如何迭代元组?你到底在做什么?要在执行置换函数之前查找上面的字典,我会执行以下操作:“code”long1=airports[“JFK”][0]lat1=airports[“JFK”][1]toEuro=airports[“JFK”][2]print(long1,lat1,toEuro)“那么……你在坚持什么(注意可能是
long1,lat1,toEuro=airports['JFK']
)?现在没什么了。谢谢。@Matt Davidson在下面回答。我有一个嵌套的for循环,但我省略了get(),结果只是拿回了机场代码,例如“JFK”等等。谢谢Matt!我省略了get()).我现在要好好读一下那个维基页面了!