生成一个删除了一些元素的列表

generating a list with eliminated some elements

我们想要的名单是

desiredx=[[u, 5, 6], [u, 6, 7],[u, 7, 8],[u, 8, 9],[u, 11, 12],[u, 12, 13],[u, 13, 14],
          [u, 16, 17],[u, 17, 18],[u, 18, 19],[u, 20, 21],[u, 21, 22],[u, 22, 23],[u, 23, 24]]

其中部分元素被淘汰

eliminated=[[u, 9, 10],[u, 14, 15],[u, 19, 20]]

我可以通过 L=30

的四个其他列表分别生成 desiredx
V1= [[u,i,(i+1)] for i in range(5,L-9,5)]

V2= [[u,i+1,(i+2)] for i in range(5,L-9,5)] 

V3= [[u,i+2,(i+3)] for i in range(5,L-9,5)] 

V4= [[u,i+3,(i+4)] for i in range(5,L-9,5)] 

并将它们全部组合起来。 我的问题:有没有更简单的方法直接生成desiredx

您在 i 上使用条件以避免 9, 14, 19,您检查 (i+1)%5 结果

res = [[u, i, i + 1] for i in range(5, L - 5) if (i + 1) % 5 != 0]