【发布时间】:2021-04-01 11:51:54
【问题描述】:
我正在尝试遍历列表列表的列表...在 python 中的一对坐标列表,我想对这些坐标对中的每一个求和一个值,但我也想保留结构。
我认为一个例子胜过千言万语:
coordinates = [[[-15.418887, 28.180395], [-15.418887, 28.180395]],
[[-15.794088, 28.018681], [-15.794088, 28.018681]]]
这是一个非常基本的例子,但不是真实的情况。实际上,除了一对坐标之外,每个列表都有可变长度。所以在配对坐标列表之前可能有 4 个列表,也可能是 3 个,它是可变的
我想在这些坐标中的每一个上添加 3(例如),但保持原始结构(我不想扁平化列表列表的列表 ....)
也许这对尝试回答问题很有用:
- 我有一个 geojson 文件,我想将一个要素(一个区域)移动到另一个地方。为此,我试图将一个常数值与该区域的每个坐标的纬度和经度相加
- 我认为这可以使用递归来完成,但我不确定如何
感谢任何帮助。
【问题讨论】:
-
是否保证一个列表中有两个嵌套列表?
-
@Harsh 不,它可以是可变的,可以是三个、四个或更多嵌套列表。它是可变的
-
这能回答你的问题吗? Flatten an irregular list of lists
-
您可以将列表转换为 numpy 列表,然后简单地在列表上执行您想要的操作,例如
cd = np.array(coordinates)和cd = cd + 3 -
@Renat 正如我所说,我想保留原始结构我不想展平列表列表....所以它没有用,无论如何谢谢。
标签: python list recursion data-structures