【发布时间】:2020-06-28 14:23:06
【问题描述】:
我正在尝试实现一个基本功能,但我没有练习 Haskell 并且正在苦苦挣扎,因此非常感谢一些帮助。我的问题具体是如何按索引选择列表的一部分。我知道如何使用其他语言,但一直在苦苦挣扎
[ x | x <- graph, x!! > 5 && x!! <10 ]
我一直在摆弄类似于上面的基本列表理解,虽然我知道这不对,但我希望有一个类似的简单解决方案可用。 如果有人想了解更多信息或想帮助解决进一步的问题,我在下面提供了更多信息,谢谢!
type Node = Int
type Branch = [Node]
type Graph= [Node]
next :: Branch -> Graph -> [Branch]
This is the individual question for the "next" function
为这两张图片道歉,但这似乎是传达信息的最佳方式。
【问题讨论】:
-
!!是二元运算符。 -
你可以从前面
drop你不想要的元素数量,然后take你想要保留的元素数量。 -
我想这可能对你有帮助:List slice
-
谢谢你们,但特别是@wasabi,列表切片链接真的很有帮助,它充分解释了 drop and take 的组合!
标签: list haskell list-comprehension