python中有没有一种方法可以从两个列表中创建一个新列表,其中第一个列表值用于组成新列表的列表?

python中有没有一种方法可以从两个列表中创建一个新列表,其中第一个列表值用于组成新列表的列表?,python,nested-lists,Python,Nested Lists,例如,如果我有两个列表: list1 = [2,3] list2 = [a,b,c,d,e] 新的名单应该是 newlist = [[a,b], [c,d,e]] 因此,第一个列表的值构成了嵌套列表中的值的数量。这是怎么回事 代码: list1 = [2,3] list2 = ['a','b','c','d','e'] rv = [] start = 0 for i in list1: rv.append(list2[start:start+i]) start += i

例如,如果我有两个列表:

list1 = [2,3]
list2 = [a,b,c,d,e]
新的名单应该是

newlist = [[a,b], [c,d,e]]
因此,第一个列表的值构成了嵌套列表中的值的数量。

这是怎么回事

代码:

list1 = [2,3]
list2 = ['a','b','c','d','e']

rv = []
start = 0
for i in list1:
    rv.append(list2[start:start+i])
    start += i
>>> rv
[['a', 'b'], ['c', 'd', 'e']]
输出:

list1 = [2,3]
list2 = ['a','b','c','d','e']

rv = []
start = 0
for i in list1:
    rv.append(list2[start:start+i])
    start += i
>>> rv
[['a', 'b'], ['c', 'd', 'e']]

是的,有办法。到目前为止,您尝试了什么?看一看无法及时添加答案,但您可以使用
itertools.islice
it=iter(列表2);newlist=[list(islice(it,n))表示列表1中的n]
刚刚发布了对引用的/dup问题的答案: