Python处理.tsp文件

一、下三角矩阵

例如处理gr17.tsp文件

def get_matrix(city_number, path, row):
    """读取.txt文件,并返回数据列表"""
    f = open(path, "r")  # 以只读模式打开文件
    lines = f.readlines()  # 获取所有行并保存到lines列表中
    datas = []  # 保存数据
    for line in lines[row - 1:-1]:  # 读取指定的所有行
        line.strip('\n')  # 去掉换行符
        datas.extend(line.split())  # 去掉空格
    f.close()  # 关闭文件

    matrix = []
    # 先获取下三角矩阵
    line = []
    for data in datas:
        value = int(data)
        line.append(value)
        if value == 0:
            matrix.append(line[:])
            line = []
    # 再对下三角矩阵进行修改
    for i in range(city_number):
        for j in range(i+1, city_number):
            matrix[i].append(matrix[j][i])
    return matrix

处理结果如下:

Python处理.tsp文件_第1张图片

 

你可能感兴趣的:(Python,python)