如何将路由列表中的元组路径转换为连续节点列表?
解决方案
你可以通过以下几种Python方法实现格式转换:
方法一:嵌套列表推导式(简洁高效)
routes = [ [(0, 1), (1, 6), (6, 7), (7, 10), (10, 9), (9, 0)], [(0, 2), (2, 3), (3, 4), (4, 5), (5, 0)], [(0, 8), (8, 0)] ] routes_new = [[path[0][0]] + [t[1] for t in path] for path in routes] print(routes_new)
方法二:循环遍历(直观易懂)
routes = [ [(0, 1), (1, 6), (6, 7), (7, 10), (10, 9), (9, 0)], [(0, 2), (2, 3), (3, 4), (4, 5), (5, 0)], [(0, 8), (8, 0)] ] routes_new = [] for path in routes: new_path = [path[0][0]] for tup in path: new_path.append(tup[1]) routes_new.append(new_path) print(routes_new)
两种方法执行后都会得到目标格式的列表:
[[0, 1, 6, 7, 10, 9, 0], [0, 2, 3, 4, 5, 0], [0, 8, 0]]
内容的提问来源于stack exchange,提问作者iviuffek
相关产品推荐
相关产品推荐

