输入为:
"I am what I
am, and I (765) do not like Spam. Abc2. Abc3."
我的代码输出:
abc 2
am 1 2
and 2
do 2
i 1 2
like 2
not 2
spam 2
what 1
列出每个单词及其显示的行号。
问题:如何打印下面的语句,如下所示的行号之间的逗号:
abc 2
am 1,2
and 2
do 2
i 1,2
like 2
not 2
spam 2
what 1
这是我的代码,它带有一个列表,其元组格式如下
[([1, 2], "a"), ([1], "b"), ([1], "c"), ([2], "dd")]
并将其打印到我上面列出的当前输出中:
combineInts listTuple = map f $ groupBy ((==) `on` fst) $ sortBy (compare `on` fst) $ map swap listTuple
where f xs@(x:_) = (map snd xs, fst x)
printListTuples listTuple = unlines [ ys ++ " " ++ unwords (map show x) | (x, ys) <- listTuple ]
如果我能帮助找出如何在行号之间插入这些逗号,那么它将更有用并且更具可读性。
答案 0 :(得分:2)
这是一种简单的方法,而且很难。简单的方法是使用Show
实例列表和一些非常简单的列表函数。另一个非常简单的方法是只使用一个列表函数。你怎么看?更难一点的教育方式是自己写。你能想出基本的案例和递归案例吗?