在元组中循环,直到达到某个索引

时间:2014-08-06 14:45:06

标签: python

我有这个函数可以创建一个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,我想加入元组的前两项,忽略第三项。

3 个答案:

答案 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])