我有一个列表,每个维度的长度都不同,如下所示:
list1=[[2,3,4],[1],[77,8,27,12],[25,15]]
我还有另一个包含相同数量元素的列表,例如:
list2=[a,b,c,d,e,f,g,h,i,j]
我想将我的 list2 reshape 为 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']]
我不知道纯粹的理解是否可能。
关于Python 将列表 reshape 为多维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52029708/