Issue
num_pixels_per_cell_one_axis = 4
num_cells_per_module_one_axis = 4
inter_cell_sep = 2
max_items_in_list = num_cells_per_module_one_axis * num_pixels_per_cell_one_axis + (num_cells_per_module_one_axis-1) * inter_cell_sep
print(max_items_in_list)
indices_to_retain = list(range(max_items_in_list))
indices_to_remove = indices_to_retain[num_pixels_per_cell_one_axis :: num_pixels_per_cell_one_axis + inter_cell_sep]
The result I'm trying to get is the list indices_to_retain =[0,1,2,3,6,7,8,9,12,13,14,15,18,19,20,21]
Solution
IIUC you want to keep 4 items, then skip 2?
You could use:
keep, skip = 4,2
indices_to_retain = [i for i in range(max_items_in_list) if i%(skip+keep)<keep]
output:
>>> indices_to_retain
[0, 1, 2, 3, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 21]
NB. amusingly, I answered to a very similar question just a few hours ago
using numpy:
indices_to_retain = np.arange(max_items_in_list)
indices_to_retain = indices_to_retain[indices_to_retain%(skip+keep)<keep]
Answered By - mozway
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.