Python内联语法问题

时间:2018-12-12 12:15:23

标签: python syntax

我似乎找不到有效的资源来告诉我以下内容,而我正在尝试学习不同的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])

作为参考,节点被制成字符串。

1 个答案:

答案 0 :(得分:2)

第1行

shortest_path = {initial: (None, 0)}

创建了字典。 1个键:initial。它的值:(None, 0)是具有None0(零)的元组。

第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