Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表中列表的总和_Python_List - Fatal编程技术网

Python 列表中列表的总和

Python 列表中列表的总和,python,list,Python,List,这是我的列表,由多个列表组成。列表中的每个列表都是一条路由 每个数字代表一个位置。0是总部,因此每个列表都以0开头和结尾。我有一个距离矩阵来确定位置之间的距离。所以我制作了这个元组列表,用距离数据框计算距离,比如距离矩阵[I][j]给出了位置I和j之间的距离 [[0, 78, 126, 27, 79, 65, 48, 127, 75, 96, 34, 0], [0, 54, 57, 102, 133, 82, 59, 124, 66, 67, 2, 45, 56, 0], [0, 60, 80,

这是我的列表,由多个列表组成。列表中的每个列表都是一条路由 每个数字代表一个位置。0是总部,因此每个列表都以0开头和结尾。我有一个距离矩阵来确定位置之间的距离。所以我制作了这个元组列表,用距离数据框计算距离,比如距离矩阵[I][j]给出了位置I和j之间的距离

[[0, 78, 126, 27, 79, 65, 48, 127, 75, 96, 34, 0],
[0, 54, 57, 102, 133, 82, 59, 124, 66, 67, 2, 45, 56, 0],
[0, 60, 80, 83, 101, 52, 98, 61, 87, 81, 35, 0],
[0, 71, 37, 49, 51, 50, 15, 30, 29, 31, 33, 28, 32, 38, 0],
[0, 131, 74, 16, 3, 95, 44, 73, 90, 22, 23, 0],
[0, 105, 8, 14, 63, 40, 41, 7, 130, 58, 92, 24, 0],
[0, 36, 114, 113, 18, 94, 10, 11, 108, 89, 86, 19, 55, 0],
[0, 111, 6, 43, 88, 109, 39, 53, 1, 9, 97, 64, 12, 0],
[0, 106, 99, 125, 20, 104, 129, 132, 119, 62, 68, 72, 13, 110, 0],
[0, 4, 46, 47, 122, 21, 117, 118, 93, 121, 25, 107, 0]]
这是我列表的一个子样本,由多个列表组成,其中包含元组,用于确定距离

现在每个元组都是距离矩阵中的一个位置,例如(0,78)给出了96km,它是位置0和位置78之间的距离

现在我需要每条路线的距离总和(因此列表中的每个列表)。因为当我不能把路线分开的时候


有人能帮我吗

假设您有一个
距离矩阵
,现在您要计算每行的总公里数。那就试试这个:

[[(0, 78), (78, 126), (126, 27), (27, 79), (79, 65), (65, 48), (48, 127), (127, 75), (75, 96), (96, 34), (34, 0)],
 [(0, 54),(54, 57),(57, 102),(102, 133),(133, 82),(82, 59),(59, 124),(124, 66),(66, 67),(67, 2),(2, 45),(45, 56),(56, 0)],
 [(0, 60),(60, 80),(80, 83),(83, 101),(101, 52),(52, 98),(98, 61),(61, 87),(87, 81),(81, 35),(35, 0)],
 [(0, 71),(71, 37),(37, 49),(49, 51),(51, 50),(50, 15),(15, 30),(30, 29),(29, 31),(31, 33),(33, 28),(28, 32),(32, 38),(38, 0)]]
l=[[0,78,126,27,79,65,48,127,75,96,34,0],
[0, 54, 57, 102, 133, 82, 59, 124, 66, 67, 2, 45, 56, 0],
[0, 60, 80, 83, 101, 52, 98, 61, 87, 81, 35, 0],
[0, 71, 37, 49, 51, 50, 15, 30, 29, 31, 33, 28, 32, 38, 0],
[0, 131, 74, 16, 3, 95, 44, 73, 90, 22, 23, 0],
[0, 105, 8, 14, 63, 40, 41, 7, 130, 58, 92, 24, 0],
[0, 36, 114, 113, 18, 94, 10, 11, 108, 89, 86, 19, 55, 0],
[0, 111, 6, 43, 88, 109, 39, 53, 1, 9, 97, 64, 12, 0],
[0, 106, 99, 125, 20, 104, 129, 132, 119, 62, 68, 72, 13, 110, 0],
[0, 4, 46, 47, 122, 21, 117, 118, 93, 121, 25, 107, 0]]
距离=[]
对于l中的路径:
tot_dist=0
对于路径中的边:
总距离=总距离+距离矩阵[边[0],边[1]]
距离。附加(总距离)
打印(距离)
这(0,78)是如何给出96的?你从哪里得到这些信息?
your_list = [[0, 78, 126, 27, 79, 65, 48, 127, 75, 96, 34, 0],
             [0, 54, 57, 102, 133, 82, 59, 124, 66, 67, 2, 45, 56, 0],
             [0, 60, 80, 83, 101, 52, 98, 61, 87, 81, 35, 0],
             [0, 71, 37, 49, 51, 50, 15, 30, 29, 31, 33, 28, 32, 38, 0],
             [0, 131, 74, 16, 3, 95, 44, 73, 90, 22, 23, 0],
             [0, 105, 8, 14, 63, 40, 41, 7, 130, 58, 92, 24, 0],
             [0, 36, 114, 113, 18, 94, 10, 11, 108, 89, 86, 19, 55, 0],
             [0, 111, 6, 43, 88, 109, 39, 53, 1, 9, 97, 64, 12, 0],
             [0, 106, 99, 125, 20, 104, 129, 132, 119, 62, 68, 72, 13, 110, 0],
             [0, 4, 46, 47, 122, 21, 117, 118, 93, 121, 25, 107, 0]]
distance_list = []
for route in your_list:
    total_tmp = 0
    for i in range(len(route)-1):
        total_tmp += distance_matrix[route[i]][route[i+1]]
    distance_list.append(total_tmp)