Python中的基于布尔数组切片数组

2024-03-29 05:54:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要根据布尔数组中的条件对xyz坐标数组进行切片(其中boolean数组是1D)。在

如果我的布尔数组是

[1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1]

我需要它对其进行切片以生成以下索引数组:

[0, 1, 2, 3, 6, 7, 10, 11, 12] ([:-2] between True indices)

最终期望的输出将是这些索引处的xyz坐标数组:

[xyz[0], xyz[1], xyz[2] xyz[3], xyz[6] xyz[7], xyz[10] xyz[11], xyz[12]]

其他两个部分(具有相似的期望输出)如下:

[1, 2, 3, 4, 7, 8, 11, 12, 13] ([1:-1] between True indices)

[2, 3, 4, 5, 8, 9, 12, 13, 14] ([2:] between True indices)

有没有一种Python式的方法可以在不理解列表的情况下做到这一点?在

谢谢你!在


Tags: 方法true列表情况切片数组between条件