我有这个函数可以创建一个WKT字符串格式化
def _dump_point(obj, fmt, dim=2):
coords = obj['coordinates']
pt = 'POINT (%s)' % ' '.join(fmt % c for c in coords)
return pt
coords
是一个浮点元组,可以包含2个或3个元素,如(0.3455 , 4.234)
或(24.324 , 3.123 , 4.545)
我想使用dim
参数循环coords直到某个索引。如果dim
为2,我想加入元组的前两项,忽略第三项。
答案 0 :(得分:3)
尽量只接受coords[:dim]
。
pt = 'POINT (%s)' % ' '.join(fmt % c for c in coords[:dim])
答案 1 :(得分:2)
使用dim作为索引切片:
coords[:dim]
例如:
In [8]: coords = (24.324 , 3.123 , 4.545)
In [9]: dim = 2
In [10]: coords[:dim]
Out[10]: (24.324, 3.123)
答案 2 :(得分:2)
然后取dim
定义的元素数量,如下所示:
pt = 'POINT (%s)' % ' '.join(fmt % c for c in coords[0:dim])