python不等长数组_遍历python不定常不定维数组

有一大推geojson数据,现在需要对其进行坐标转换,geojson数据示例

coordinates = [119,35]

coordinates = [[119,35],[119,35]]

coordinates = [[[119,35],[119,35]],[[119,35],[119,35]]]

期望转换后的坐标:

coordinates = [11900,3500]

coordinates = [[11900,3500],[11900,3500]]

coordinates = [[[11900,3500],[11900,3500]],[[11900,3500],[11900,3500]]]

怎么遍历到每一个position(坐标对)?

我现在是这么做的:

def transform(x,y,other_parameter):

return ....

def miterator(ary,mapper):

if isinstance(ary,list):

if isinstance(ary[0],list):

for el in ary:

miterator(el, mapper)

else:

ary[0],ary[1] = mapper(ary[0],ary[1])

def logic(...):

other_parameter= ....

coordinates = get_coordinates(..)

miterator(coordinates,transform) #??????

然后问题就出来了,我怎么把other_parameter传到transform里面?

所以 我希望最好通过generator方式:

def xgenerator(ary):

if xx:

...

yield(x,y)

然后我就可以通过这种方式调用:

def logic(...):

other_parameter= ....

coordinates = get_coordinates(..)

for x,y in xgenerator(coordinates):

transform(x,y,other_parameter)

但是这个generator我死活写不出来,怎么破?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值