简体   繁体   English

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

[英]Create subsets from Python list with suffix

I am trying to segment python main list to sub-lists with appropriate suffix.我正在尝试将 python 主列表分割为具有适当后缀的子列表。 For example, the Main List looks something like例如,主列表看起来像

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

I want to create a sub-lists like below我想创建一个如下所示的子列表

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

This is just for example as I do have a list of thousand elements.这只是例如,因为我确实有一个包含一千个元素的列表。 I tried the below 'For loop' but not working我尝试了下面的“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 doesn't encourage dynamic variables. Python 不鼓励动态变量。 Use a dictionary:使用字典:

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]

And using a tuple is better than creating a string from integers:使用元组比从整数创建字符串更好:

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

You can force an assignment by using exec :您可以使用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)

However, it's not a good practice in Python.但是,这在 Python 中并不是一个好习惯。

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

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