如何从长度取决于另一个列表的列表中创建新的子列表

我想创建一个包含子列表的新列表,其长度取决于另一个列表,例如我有:


a = [1,3,2,5,4]

b = ['a','b','c','d','e','f','g','h','i','l','m','n','o','p','q']

我想要一个嵌套的表单列表:


[['a'],

 ['b', 'c', 'd'],

 ['e', 'f'],

 ['g', 'h', 'i', 'l', 'm'],

 ['n', 'o', 'p', 'q']]


绝地无双
浏览 154回答 2
2回答

九州编程

解决这个问题的步骤:创建一个空列表创建一个 intdone=0来告诉您已经从数据中切分了多少内容循环遍历“如何在部分中剪切另一个列表”-列表的所有元素从doneto done+切片“如何将另一个列表分成几部分”的当前元素,并将其附加到空列表中增加done你刚刚切片的任何东西添加(如果需要)剩余数据打印它。

阿晨1998

a = [1,3,2,5,4]b = ['a','b','c','d','e','f','g','h','i','l','m','n','o','p','q']out=[]for number in a:    out.append(b[:number])    b=b[number:]print(out)#[['a'], ['b', 'c', 'd'], ['e', 'f'], ['g', 'h', 'i', 'l', 'm'], ['n', 'o', 'p', 'q']]描述out 是最终的输出列表。循环遍历列表 a 中的每个元素(比如“数字”),并将从列表 b 开头的许多元素的列表附加到我们的输出列表中。然后它继续更新列表 b 以便删除这些元素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python