从带有后缀的Python列表创建子集
我试图将python主列表分割成带有适当后缀的子列表。例如 主列表看起来像从带有后缀的Python列表创建子集,python,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(e
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]
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]
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]
您可以使用
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中不是一个好的实践。您可以使用
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中不是一个好的实践。Python索引从0开始,因此建议使用M_0_2和M_3_5。Python索引从0开始,因此建议使用M_0_2和M_3_5。