我似乎找不到有效的资源来告诉我以下内容,而我正在尝试学习不同的python技术,有人可以解释这些代码行,并可能显示它们的等效内容吗?
shortest_path = {initial: (None, 0)}
next_destinations = {node: shortest_paths[node] for node in shortest_paths if node not in visited}
current_node = min(next_destinations, key=lambda k: next_destinations[k][1])
作为参考,节点被制成字符串。
答案 0 :(得分:2)
第1行
shortest_path = {initial: (None, 0)}
创建了字典。 1个键:initial
。它的值:(None, 0)
是具有None
和0
(零)的元组。
第2行
next_destinations = {node: shortest_paths[node] for node in shortest_paths if node not in visited}
字典理解。将node
映射到shortest_paths[node]
。 for
每个node in shortest_paths
都这样做,并且仅if node not in visited
此行的输出是字典
第3行
current_node = min(next_destinations, key=lambda k: next_destinations[k][1])
尝试查找最小值并将其分配给current_node
。敏在做什么?在next_destinations
上。如何知道如何离开?通过功能为key
的{{1}},检查k
。