#python #numpy
#python #numpy
Вопрос:
Я успешно возвращаю массив, который отображает идеальный путь между узлами в сети.
Результат (для примера i, j пары) примерно такой.
1>34>65>23>742
Теперь я хотел бы заменить числа названием города, который он представляет, например, Сан-Франциско (SFO), чтобы он выглядел примерно так
SFO>LAX>DFW>JFK
Я пытался использовать функции replace, но безуспешно.
for z in range(len(names)):
nextstop = [sub.replace(z, names[z]) for sub in nextstop]
Где names
содержит названия аэропортов в том же порядке / индексе, что и числа.
Спасибо!
где числа представляют
Комментарии:
1. Я не знаю чисел, представляющих города, но я предлагаю использовать метод re.sub из модуля re
Ответ №1:
Попробуйте что-то вроде этого:
cities = [names[int(x)] for x in "1>34>65>23>742".split(">")]
">".join(cities)
Происходит то, что "1>34>65>23>742".split(">")
дает вам список чисел в виде строк. Затем понимание списка [names[int(x)] for x in "1>34>65>23>742".split(">")]
принимает каждую из этих строк, превращает их в числа и просматривает их names
. Итак, теперь у нас есть список чисел. Наконец "<".join
, снова возвращает их в ваш строковый формат.