[英]How do I do a dictionary lookup in a list of permutations of that 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 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的可迭代循环结构:
for perm in permutations:
for airport in perm:
print(airports.get(airport))
然后,您询问有关此数据结构的计算,以寻找最便宜的路径。 该算法被称为Traveling Salesman问题,是经典的计算机科学难题。 我建议您阅读更多!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.