如何使用列表理解将列表分成两半?
例如,如果我有[1,1,2,2,3,3,4,4,5,5]
并且我只想[1,1,2,2,3]
到目前为止我的尝试:
half mylist = [r | mylist!r ; r <- [0..(#mylist div 2)] ] ||does not work
有什么想法吗?
[注:这实际上不是 Haskell,而是类似的。!用于索引列表,# 给出长度)
编辑::
好吧,事实证明
half mylist = [r | r <- [mylist!0..mylist!(#mylist div 2)] ]
有效,但仅在数字列表中而不是字符串中。有什么线索吗?