Вопрос:

извлечь строки из списка

python string list

591 просмотра

1 ответ

59 Репутация автора

У меня есть этот сегмент кода для извлечения кратчайшего пути в графе от одного узла к другому

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?

Автор: M.salameh Источник Размещён: 08.11.2017 11:18

Ответы (1)


0 плюса

1187 Репутация автора

Пожалуйста, попробуйте опцию кодирования, которая преобразует юникод в строковый формат:

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

Это должно дать вам желаемый результат.

Автор: v.coder Размещён: 09.11.2017 07:04
Вопросы из категории :
32x32