从列表中提取字符串

时间:2017-11-08 23:18:19

标签: python string list

我有这段代码来提取图表中从一个节点到另一个节点的最短路径

g = json_graph.node_link_graph(json.load(open("MPLS-topo.json")))
paths = nx.shortest_path(g, "H1", weight="weight")
for dest in paths.keys():  # Nicely output all those paths
  if dest == "H2":
    print "Shortest Path from H1 to {} is:".format(dest)
    print "{}".format(paths[dest])

它的输出是

 Shortest Path from H1 to H2 is:
 ['H1', u'S1', u'S2', u'S3', u'S5', u'H2']

我想删除你并将路径转换为像这样的字符串

 H1-S1-S2-S3-S5-H2

我试过这个

 path = [s.replace('u', '') for s in paths[dest]]
 print path
 y = "-".join(path)

但它给了我相同的输出。 我怎么能在python中做到这一点?

1 个答案:

答案 0 :(得分:0)

请尝试将unicode转换为字符串格式的编码选项:

path = [s.encode('utf-8') for s in li]
print("-".join(path))

这应该可以提供所需的输出。