gpt4 book ai didi

list - 尝试创建一个函数,该函数接受一个列表并返回与其第一个元素相同的所有元素的列表,但我的函数不起作用

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

专门用于字符串的一种。所以需要["so", "what", "and", "so", "for" "so"]并返回 ["so", "so", "so"] .我的问题是我的函数返回一个与输入的列表相同的列表。

这是所有相关代码:

lookAhead :: [String] -> String
lookAhead [] = []
lookAhead (c:cs) = c

groupFirst :: [String] -> [String]
groupFirst [] = []
groupFirst (x:xs)
| lookAhead xs == x = x : (groupFirst ((lookAhead xs):(tail xs)))
| lookAhead xs /= x = x : (groupFirst xs)
| lookAhead xs == [] = x : []

最佳答案

trail作为头元素相等谓词 filter :

trail :: Eq a => [a] -> [a]
trail [] = []
trail (x : xs) = x : filter (== x) xs
trailBy使用 Schwartzian transformmemoization :
trailBy :: Eq b => (a -> b) -> [a] -> [a]
trailBy _ [] = []
trailBy f (x1 : xs) = let x1f = f x1
in x1 : filter (\ x -> f x == x1f) xs
trail = trailBy id ,其中 id x = x , Haskell 的恒等函数。

关于list - 尝试创建一个函数,该函数接受一个列表并返回与其第一个元素相同的所有元素的列表,但我的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40391781/

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