当前位置:  开发笔记 > 编程语言 > 正文

将这些haskell Int列表转换为另一个列表

如何解决《将这些haskellInt列表转换为另一个列表》经验,为你挑选了1个好方法。

我有以下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]]

是否有捷径可寻?

编辑: 对不起,我发布了这个匆忙,这不是我想要的.我更新了上面的代码......



1> mattiast..:

如果你还有兴趣的话,这里有一个单行:

zipWith (:) [1..] $ take (maximum $ map length tAll) 
                         (transpose (map (++repeat 0) tAll))

编辑:好的,最好用两行写:)

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有