繁体   English   中英

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

[英]Create subsets from Python list with suffix

我正在尝试将 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]

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 中并不是一个好习惯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM