gpt4 book ai didi

list - 在 Haskell 中将内部列表切割成相等的长度

转载 作者:行者123 更新时间:2023-12-04 22:03:05 25 4
gpt4 key购买 nike

假设我们有一个列表列表,我们希望将所有内部列表削减到最短内部列表的长度——例如,从 [[1,2,3,4],[2,3],[3,9]] 我们应该得到 [[1,2],[2,3],[3,9]]

这是我到目前为止的代码(它不起作用):

cut :: [[a]] -> [[a]]
cut = map (\xs -> drop ((min(length xs)) - length xs) xs)

我试图这样解决它:
必须有一个函数返回最短列表的长度,因此,我们需要一个进一步的函数来将所有列表从开头剪切到这个新长度。
但是,事实上,我没有任何线索。

最佳答案

这是你想要的吗?

truncateList :: [[a]] -> [[a]]
truncateList list = map (\x -> take l x) list
where
l = minimum (map length list)

或者,更短,
truncateList :: [[a]] -> [[a]]
truncateList list = map (take l) list
where
l = minimum (map length list)

关于list - 在 Haskell 中将内部列表切割成相等的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49452848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com