Python中如何将两列整数转为(x,y)二元组节点用于A*算法
两列整数转二元组节点的实现方法
以下是几种常见场景下的实现方式,直接生成A*算法可用的二元组节点:
1. 数据存储为Python列表
如果你的原始数据是嵌套列表(每行对应两个整数):
data = [[38, 956], [102, 789], [56, 321]] # 用列表推导式快速转换 nodes = [(x, y) for x, y in data]
2. 从文本文件读取数据
如果数据保存在文本文件中(每行两个整数,用空格/制表符分隔):
nodes = [] with open("your_data.txt", "r") as f: for line in f: # 分割每行内容并转成整数,再打包成二元组 x, y = map(int, line.strip().split()) nodes.append((x, y))
3. 用Pandas处理表格数据
如果数据在Pandas DataFrame中(两列均为整数类型):
import pandas as pd # 假设你的DataFrame是df,包含两列整数 df = pd.DataFrame([[38, 956], [102, 789]], columns=["col1", "col2"]) # 方法1:用itertuples直接生成二元组列表 nodes = list(df.itertuples(index=False, name=None)) # 方法2:用apply逐行转换 nodes = df.apply(lambda row: (row[0], row[1]), axis=1).tolist()
转换后的nodes列表中的每个元素都是形如(38, 956)的二元组,可直接作为A*算法中的节点使用。
内容的提问来源于stack exchange,提问作者Anh Duy
相关产品推荐
相关产品推荐

