1

所以我有例如这个列表[[2,1,3],[1,2,3],[2,3,1],[3,1,2]]。我想要的是得到一个列表,告诉我每个数字(在这个例子中只有 3 个)出现在第一位的次数。

length $ filter (\a -> head a == ???) ([[2,1,3],[1,2,3],[2,3,1],[3,1,2]])

???应该是 1-2-3,所以我的结果将是 [1,2,1] - 1 个列表有 1 在第一位,2 有 2 作为第一位,1 有 3 作为第一位。

我是 Haskell 的新手,我正在尝试找出正确的定义!

4

1 回答 1

0

不要试图立即解决这个问题。首先创建一个列表开头的列表。这样你得到:

[2,1,2,3]

然后,您可以稍后进行排序、分组和计数。

于 2013-11-05T13:41:04.883 回答