リスト内包表記を使用してリストを半分に分割するにはどうすればよいですか?
例:もし私が持っていて[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)] ]
機能しますが、文字列ではなく数値のリストでのみ機能します。手がかりはありますか?