一、下三角矩阵
例如处理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
处理结果如下: