2011-11-11 29 views
1

我有一组具有经纬度值,我试图创建在以下格式的字符串,以便与Gmaps API工作要点:Python的 - 从一个循环构建一个字符串

LatitudeX,LongitudeX|LatitudeY,LongitudeY 

最终的字符串将使用未知数量的拉特长对进行构建。

我以前的经验是使用PHP,尽管我已经设法使某些工作起来,但是,它似乎有点笨拙,我想知道是否有作为一种更“pythonic”的方式来实现结果。

这是我到目前为止有:

waypoints = '' 

for point in points: 
    waypoints = waypoints+"%s,%s" % (point.latitude, point.longitude)+"|" 

waypoints = waypoints[:-1] 

任何意见赞赏。

感谢

回答

9

使用str.join

waypoints = '|'.join("{0},{1}".format(p.latitude, p.longitude) for p in points) 
+0

还要注意使用生成器表达式(+1 BTW)的。当生成器表达式工作时从不使用列表理解。 – delnan

+0

字符串连接方法是连接字符串的最快方法之一。 @Dan请查看http://www.skymind.com/~ocrow/python_string/以查看示例...并注意,与str.join相比,+操作符的天真串联具有可怕的性能。 –