首页 > 解决方案 > python - 如何遍历列表列表列表列表列表的列表...在python中的坐标对列表列表?

问题描述

我正在尝试遍历列表列表的列表......在python中的一对坐标列表,我想对这些坐标对中的每一个求和一个值,但我也想保留结构。

我认为一个例子的价值超过一千字,所以:

coordinates = [[[-15.418887, 28.180395], [-15.418887, 28.180395]],
 [[-15.794088, 28.018681], [-15.794088, 28.018681]]]

这是一个非常基本的例子,但不是真实的情况。实际上,除了一对坐标之外,每个列表都有可变长度。所以可能有 4 个列表,直到对坐标列表的列表,或者它可能是 3,它是可变的

我想为每个坐标添加 3(例如),但保留原始结构(我不想将列表列表的列表变平......)

也许这对于尝试回答问题很有用:

任何帮助表示赞赏。

标签: pythonlistrecursiondata-structures

解决方案


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]]]

推荐阅读