我有以下Int列表:
t1 = [1000, 1001, 1002, 1003, 1004] t2 = [2000, 2001, 2002] t3 = [3000, 3001, 3002, 3003]
列表大小是可变的,它们不仅仅是这个示例中的3.它们可以包含1个元素或更多元素.然后我有这个:
tAll = [t1, t2, t3]
我需要一个功能,"变成" 高大弄成这个样子:
[[1, 1000, 2000, 3000], [2, 1001, 2001, 3001], [3, 1002, 2002, 3002], [4, 1003, 0, 3003], [5, 1004, 0, 0]]
是否有捷径可寻?
编辑: 对不起,我发布了这个匆忙,这不是我想要的.我更新了上面的代码......
如果你还有兴趣的话,这里有一个单行:
zipWith (:) [1..] $ take (maximum $ map length tAll) (transpose (map (++repeat 0) tAll))
编辑:好的,最好用两行写:)