Вы хотите сохранить первые 2 из 5 для каждых 5 элементов:
data = [[10, 10], [20, 20], [30, 30], [40, 40], [50, 50], [60, 60], [70, 70],
[80, 80], [90, 90], [100, 100]]
num1 = 2
num2 = 5 # num2 must be > num1
new_data = [x for i,x in enumerate(data) if i%num2 < num1 ]
print(new_data)
Вывод:
[[10, 10], [20, 20], [60, 60], [70, 70]]
Хитрость заключается в использовании enumerate()
и по модулю данного индекса ваших исходных данных на num2
- вы сохраняете те, которые меньше num1
.
index : 0,1,2,3,4,5,6,7,8,9, ...
i%num2: 0,1,2,3,4,0,1,2,3,4, ...
keep: x x - - - x x - - - ...