Haskell列表到单一子列表

问题描述

我在将列表转换为单一子列表时遇到问题

sublists :: [a] -> [[a]]
sublists [] = [[]]
sublists (x:xs) = [x:ys | ys <- sub] ++ sub
                    where sub = sublists xs

我需要给定的功能 子列表[True,False] 退货 [[True],[False]]代替[[True,False],[True],[False],[]] 但我只是不知道如何打脸。

我希望我清楚。谢谢!

解决方法

因此,您需要一个将a转换为[a]的函数。好吧...

makeList = \x -> [x]

(为什么我将其写为lambda?继续阅读)

因此,您需要一个将列表中的a转换为[a]的函数。好吧...

makeListsInList = map (\x -> [x])

完成。

,

您可以使用函数pure :: Applicative f => a -> f a将值包装到列表中,因为plt.ion() fig,ax = plt.subplots() ... # Run this each time you need to update ax.cla() ax.plot(updated_data) fig.canvas.flush_events() 的{​​{1}}实例将元素包装在单例列表中。

因此您可以将函数定义为:

Applicative

例如:

[]