如何在Python路径规划代码中仅打印坐标而非GridNode对象?
解决pathfinding库A*路径输出坐标而非GridNode实例的问题
find_path方法返回的path是由GridNode对象组成的列表,直接打印会输出对象实例的内存信息而非坐标。要获取(x,y)形式的坐标,只需提取每个节点的x和y属性即可,有两种简单的修改方式:
方式一:转换后单独打印
修改打印部分的代码:
path, runs = finder.find_path(start, end, grid) # 将GridNode对象列表转换为坐标元组列表 coordinate_path = [(node.x, node.y) for node in path] print(coordinate_path) print(runs)
方式二:直接替换原path变量
如果希望后续代码也直接使用坐标列表,可以在获取路径后直接转换:
path, runs = finder.find_path(start, end, grid) # 覆盖原path变量为坐标列表 path = [(node.x, node.y) for node in path] print(path) print(runs)
两种方式最终都会输出类似[(0, 0), (1, 1), (2, 2), (3, 2), (4, 2), (5, 2)]的坐标格式。
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

