Here's a working example to filter functions given a certain step K:
def filter_f(data, K=4):
if K <= 0:
return data
N = len(data)
f_filter = [0 if i % K else 1 for i in range(N)]
return [a * b for a, b in zip(data, f_filter)]
f_input = range(10)
for K in range(10):
print("Original function: {0}".format(f_input))
print("Filtered function (step={0}): {1}".format(
K, filter_f(f_input, K)))
print("-" * 80)
Output:
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=0): [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=1): [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=2): [0, 0, 2, 0, 4, 0, 6, 0, 8, 0]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=3): [0, 0, 0, 3, 0, 0, 6, 0, 0, 9]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=4): [0, 0, 0, 0, 4, 0, 0, 0, 8, 0]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=5): [0, 0, 0, 0, 0, 5, 0, 0, 0, 0]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=6): [0, 0, 0, 0, 0, 0, 6, 0, 0, 0]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=7): [0, 0, 0, 0, 0, 0, 0, 7, 0, 0]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=8): [0, 0, 0, 0, 0, 0, 0, 0, 8, 0]
--------------------------------------------------------------------------------
Original function: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Filtered function (step=9): [0, 0, 0, 0, 0, 0, 0, 0, 0, 9]
--------------------------------------------------------------------------------