【问题标题】:How to loop multiple appends for python如何为python循环多个附加
【发布时间】:2021-12-21 17:36:01
【问题描述】:
num_pixels_per_cell_one_axis = 5
num_cells_per_module_one_axis = 3
inter_cell_sep = 4

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]
if inter_cell_sep == 2:
    for k in range(0,len(indices_to_remove)):
        indices_to_remove.append(indices_to_remove[k]+1)
        
if inter_cell_sep == 3:
    for k in range(0,len(indices_to_remove)):
        indices_to_remove.append(indices_to_remove[k]+1)
        indices_to_remove.append(indices_to_remove[k]+2)
        
    
for k in indices_to_remove:
    indices_to_retain.remove(k)
    

print(indices_to_remove)
print(indices_to_retain)

我想找到一种方法为任何正数循环 inter_cell_sep,并且随着它的增加,用于附加列表的行也会增加。预期的答案应该是 [0,1,2,3,4,9,10,11,12,17,18,19,20]

【问题讨论】:

    标签: python list loops for-loop append


    【解决方案1】:

    我认为您可以循环遍历 inter_cell_sep 的范围,而不是对 inter_cell_sep 的每个值使用 if 语句。这是我想出的。

    num_pixels_per_cell_one_axis = 5
    num_cells_per_module_one_axis = 3
    inter_cell_sep = 3
    
    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]
    
    for k in range(0, len(indices_to_remove)):
        indices_to_remove.extend([indices_to_remove[k] + x for x in range(1, inter_cell_sep)])
    
    for k in indices_to_remove:
        indices_to_retain.remove(k)
    
    print(indices_to_remove)
    print(indices_to_retain)
    

    【讨论】:

      猜你喜欢
      • 2013-09-20
      • 2022-01-04
      • 2020-03-29
      • 2018-12-11
      • 2017-03-22
      • 2018-04-23
      • 2018-05-12
      • 2023-01-07
      • 2019-04-05
      相关资源
      最近更新 更多