python - python - 如何遍历列表列表列表列表列表的列表...在python中的坐标对列表列表?
问题描述
我正在尝试遍历列表列表的列表......在python中的一对坐标列表,我想对这些坐标对中的每一个求和一个值,但我也想保留结构。
我认为一个例子的价值超过一千字,所以:
coordinates = [[[-15.418887, 28.180395], [-15.418887, 28.180395]],
[[-15.794088, 28.018681], [-15.794088, 28.018681]]]
这是一个非常基本的例子,但不是真实的情况。实际上,除了一对坐标之外,每个列表都有可变长度。所以可能有 4 个列表,直到对坐标列表的列表,或者它可能是 3,它是可变的
我想为每个坐标添加 3(例如),但保留原始结构(我不想将列表列表的列表变平......)
也许这对于尝试回答问题很有用:
- 我有一个 geojson 文件,我想将一个特征(一个区域)移动到另一个地方。为此,我试图将一个常数值与该区域的每个坐标的纬度和经度相加
- 我认为这可以使用递归来完成,但我不确定如何
任何帮助表示赞赏。
解决方案
coordinates = [[[-15.418887, 28.180395], [-15.418887, 28.180395]],
[[-15.794088, 28.018681], [-15.794088, 28.018681]]]
def recursively_add3(l):
if isinstance(l, float):
return l
for index, inner_list in enumerate(l):
inner_result = recursively_add3(inner_list)
if inner_result is not None:
l[index] = inner_result + 3
return None
recursively_add3(coordinates)
这给出了结果
[[[-12.418887, 31.180395], [-12.418887, 31.180395]]
, [[-12.794088, 31.018681], [-12.794088, 31.018681]]]
推荐阅读
- java - 具有容错性和高执行量的作业调度程序设计
- ios - 如何仅在第一次显示视图控制器时触发 viewDidAppear 中的操作?
- spring-boot - 无法使用 Apache CXF 和 SpringBoot 运行我的测试
- sql - 从仅在值更改时记录的表中推断每日历史值(Postgresql 9.3)
- druid - 在 Druid 中获取不同的列值
- ios - 如何在 Swift 的集合视图中禁用特定单元格
- python - 如何避免 dicttoxml 在键中产生下划线
- prolog - or case 递归
- r - 为什么 R4DS 的传单示例不起作用?
- r - 根据data.frame列在散点图中设置标记颜色