在Python中显示按到给定节点的距离排序的节点

2024-09-27 21:25:04 发布

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

我有许多节点,每个节点都有一个x轴和y轴值,它们表示彼此之间的距离。例如

nodes = [
{'name': 'node1', 'x': 2, 'y': 4, 'friend': True},
{'name': 'node2', 'x': -3, 'y': 2, 'friend': True},
{'name': 'node3', 'x': 5, 'y': 0, 'friend': False},
{'name': 'node4', 'x': -6, 'y': 1, 'friend': False},
{'name': 'node5', 'x': 0, 'y': 3, 'friend': True} 
]

我需要创建一个函数,根据X和Y值,只返回按到给定节点的距离(比如main_node = nodes[0])排序的朋友节点。你知道吗

我会感激你的帮助。你知道吗


Tags: 函数namefriendfalsetrue距离节点main
1条回答
网友
1楼 · 发布于 2024-09-27 21:25:04

sort函数接受一个关键参数:

main_node = nodes[0]
nodes.sort(key=lambda node: math.hypot(node["x"] - main_node["x"], node["y"] - main_node["y"]))

相关问题 更多 >

    热门问题