从带后缀的Python列表中创建子集

时间:2019-12-29 02:21:01

标签: python

我正在尝试将python主列表细分为具有适当后缀的子列表。例如, 主列表看起来像

M = [1,2,3,4,5,6]

我想创建如下的子列表

M_1_3 = [1,2,3]
M_4_6 = [4,5,6]

这只是举例,因为我确实有上千个元素的列表。我尝试了以下“ For循环”,但无法正常工作

for i in range(0,len(main_list),50):
    start = i
    end = i+50
    'sub_list_'+str(start)+'_'+str(end) = main_list[start:end]

2 个答案:

答案 0 :(得分:2)

Python不鼓励使用动态变量。使用字典:

sub_lists = {}
for i in range(0,len(main_list),50):
    start = i
    end = i+50
    sub_lists[str(start)+'_'+str(end)] = main_list[start:end]

使用元组比从整数创建字符串更好:

sub_lists = {}
for i in range(0,len(main_list),50):
    start = i
    end = i+50
    sub_lists[(start, end)] = main_list[start:end]

答案 1 :(得分:0)

您可以使用exec来强制分配:

main_list = list(range(200))
for i in range(0,200,50):
    start = i
    end = i+50
    exec('sub_list_'+str(start)+'_'+str(end) +'= main_list[start:end]')

print(sub_list_0_50)

但是,在Python中这不是一个好习惯。