我目前正在学习 Python,我已经看到使用 list(range(start,stop,step))
我们可以创建一个从 start
到stop-1
在连续数字之间有一定的 step
。
但我不知道是否有办法实现数字序列,但每个 m
个数字跳过 n
个。
例如,如果我们有下一个数字列表:
list(range(0,20))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
如果我们想跳过 n=2
个数字,每个 m=3
个数字,那么结果将是:
[0, 1, 2, 5, 6, 7, 10, 11, 12, 15, 16, 17]
或者如果我们想跳过 n=3
个数字,每个 m=5
个数字,那么结果将是:
[0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 16, 17, 18, 19]
我有办法吗?提前致谢!
最佳答案
这是一个单行代码,每 m 个数字跳过 n 个:
result = [j for i in range(0,20, n+m) for j in range(i, m+i)]
关于Python:如何生成一个序列,每个 m 个数字跳过 n 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65693699/