Python将列表重塑为多维列表
问题内容:
我有一个列表,每个维度的长度都不同,如下所示:
list1=[[2,3,4],[1],[77,8,27,12],[25,15]]
而且我还有另一个具有相同数量元素的列表,例如:
list2=[a,b,c,d,e,f,g,h,i,j]
我想将list2重塑为list1,并在for循环中一起处理两个列表。
问题答案:
这是一种可爱的方式。
list1 = [[2,3,4],[1],[77,8,27,12],[25,15]]
list2 = list("abcdefghij")
list2_iterator = iter(list2)
list2_reshaped = [[next(list2_iterator) for _ in sublist] for sublist in list1]
print(list2_reshaped)
Out: [['a', 'b', 'c'], ['d'], ['e', 'f', 'g', 'h'], ['i', 'j']]
我不知道单纯的理解是否有可能。