flattlst "aaaasssaaabbbssaaa"
--"asabsa"
我试图通过Data.List中的“ nub”函数来做到这一点,>
import Data.List flattlst = nub --flattlst"aaaasssaaabbbssaaa" "asb" -- !!! It is wrong!! "asabsa" -- !!The answer should be like this.
但是那不是我所需要的。 “ Nub”删除所有相同的元素,但是我只需要连续输入那些元素即可。帮助我解决此问题。
如何删除与列表中项目相邻的相同重复项目? flattlst“ aaaasssaaabbbssaaa”-“ asabsa”我试图通过Data.List中的“ nub”函数来做到这一点,导入Data.List ...
nub
仅会产生一个元素,如果它没有首先产生一个等效元素。因此nub
确实会发出"asb"
,因为此后的'a'
s,'s'
s和'b'
s已经发出。您可以使用的是group :: (Eq a, Foldable f) => f a -> [NonEmpty a]
。这将为相等元素的每个子序列生成一个非空列表。例如: