生成一个删除了一些元素的列表
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]
我们想要的名单是
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]