我正在尝试编写一个函数。
应该导致
我想使用列表推导式来实现,但我有些困惑... 有人能提供建议/解决方案吗?
PS:如果需要的话,该函数还可以将第一个坐标的最大值作为参数。
group::[(Int, Int)]->[[(Int, Int)]]
这将把元组列表的元素根据第一个坐标分组为子组,例如:
group [(1,1),(1,2),(2,1),(2,2),(2,3)]
应该导致
[[(1,1),(1,2)],[(2,1),(2,2),(2,3)]]
我想使用列表推导式来实现,但我有些困惑... 有人能提供建议/解决方案吗?
PS:如果需要的话,该函数还可以将第一个坐标的最大值作为参数。
groupBy ((==) `on` fst) [(1,1),(1,2),(2,1),(2,2),(1,3)]
不起作用。如果您想要这样做,您会提前进行排序吗? - tcotts