如何在字典的排列列表中进行字典查找?

2024-04-28 08:37:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有这样一本关于机场位置的字典:

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)}

我把这句话的所有排列都列在一个列表中:

^{pr2}$

这给了我:

[('AAL', 'SYD', 'JFK', 'LHR', 'CDG'), ('AAL', 'SYD', 'JFK', 'CDG', 'LHR'), ('AAL', 'SYD', 'LHR', 'JFK', 'CDG')...#all permutations

如何在字典中查找排列列表中每个机场的gps坐标?在

另一方面,我要做的是创建这120个排列,这样我就有了人们在这些机场之间旅行的各种可能的方法,然后计算出每个机场之间行驶的大圆距离(然后将该距离(以公里为单位)乘以字典中从该机场出发的第三个值,将其转换为欧元)。计算120次4次旅行的费用,找出最便宜的方式游览这五个城市。在

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

谢谢


Tags: 方法距离列表字典allcdggpsairports
1条回答
网友
1楼 · 发布于 2024-04-28 08:37:06

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

for perm in permutations:
    for airport in perm:
         print(airports.get(airport))

然后,您会询问有关此数据结构的计算,寻找最便宜的路径。这个算法被称为旅行商问题,是一个经典的计算机科学难题。我建议你多读点书!在

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

相关问题 更多 >