#python #string
#python #строка
Вопрос:
У меня есть набор точек, которые имеют значения широты и долготы, и я пытаюсь создать строку в следующем формате, чтобы работать с Gmaps API:
LatitudeX,LongitudeX|LatitudeY,LongitudeY
Конечная строка будет построена с использованием неизвестного количества пар длины lat.
Мой предыдущий опыт связан с PHP, и, хотя мне удалось заставить что-то работать, однако это кажется немного неуклюжим, и мне было интересно, есть ли более «питонический» способ достижения результата.
Вот что у меня есть на данный момент:
waypoints = ''
for point in points:
waypoints = waypoints "%s,%s" % (point.latitude, point.longitude) "|"
waypoints = waypoints[:-1]
Приветствуются любые советы.
Спасибо
Ответ №1:
Используйте str.join
:
waypoints = '|'.join("{0},{1}".format(p.latitude, p.longitude) for p in points)
Комментарии:
1. Также обратите внимание на использование выражения генератора ( 1 кстати). Никогда не используйте понимание списка, когда работает выражение генератора.
2. Метод join для строк является одним из самых быстрых способов объединения строк. @Dan Проверьте skymind.com /~ocrow/python_string для примеров… и обратите внимание, что наивная конкатенация с оператором имеет ужасную производительность по сравнению с str.join.