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()).我现在要好好读一下那个维基页面了!