【发布时间】:2018-06-12 14:09:50
【问题描述】:
我有这个清单:
list = [[0, 5], [0, 3, 6], [1, 2, 4], [1, 7], [0, 1]]
每个元素都指向一个点,其坐标被列为两个数组:
Lon = [2.0,3.0,5.0,2.0,6.0,1.0,3.0,4.0]
Lat = [4.0,6.0,5.0,3.0,4.0,2.0,1.0,7.0]
我正在尝试创建一个格式如下的数组:
[[Lon_0,Lat_0],[Lon_5,Lat_5]]
[[Lon_0,Lat_0],[Lon_3,Lat_3],[Lon_6,Lat_6]]
...
我尝试了 zip 功能,但缺少一些东西,我不知道如何前进:
for m in list:
for n in m:
Coord = zip((Lon[n], Lat[n]))
感谢任何帮助
【问题讨论】:
-
您不需要 for 循环,只需
zip(Lon, Lat)就可以了。 -
试试
zip(Lon, Lat)。要将其转换为列表,请使用:list(zip(Lon, Lat)). -
哦,需要注意的是,
zip会将“内部”列表变成一个元组。例如:[(Lon_0, Lat_0), (...), ... ]. -
另外,考虑将“列表”从
list重命名为其他名称,例如lst。通过命名变量list,您将覆盖list构造函数。因此,例如,@pask 之前的建议即使应该有效,也不会奏效。 -
但是zip函数不可下标,如何调用列表中每个点的压缩坐标?
标签: python arrays python-3.x