繁体   English   中英

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

[英]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问题,是经典的计算机科学难题。 我建议您阅读更多!

http://en.wikipedia.org/wiki/Travelling_salesman_problem

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM