我正在尝试将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]
答案 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中这不是一个好习惯。