List Elixir:如何从元组列表中查找所有出现的值?

List Elixir:如何从元组列表中查找所有出现的值?,list,functional-programming,tuples,elixir,find-occurrences,List,Functional Programming,Tuples,Elixir,Find Occurrences,查找所有出现的{1,};换句话说,列表中每个元组的所有第一个元素值都是1 考虑以下输入: [ {1, 0}, {2, 2}, {1, 1}, {11, 1}, {1, 3}, {1, 2}, {13, 1} ] 预期产出: [{1,0}, {1,1}, {1,3}, {1,2}] 我尝试了Enum.find(tl(input),fnx->elem(x,0)==elem(hd(input),0)end),但我意识到Enum.find/2只返回第一个也是唯一一个与条件

查找所有出现的
{1,}
;换句话说,列表中每个元组的所有第一个元素值都是1

考虑以下输入:

[
  {1, 0},
  {2, 2},
  {1, 1},
  {11, 1},
  {1, 3},
  {1, 2},
  {13, 1}
]
预期产出:

[{1,0}, {1,1}, {1,3}, {1,2}]
我尝试了
Enum.find(tl(input),fnx->elem(x,0)==elem(hd(input),0)end)
,但我意识到
Enum.find/2
只返回第一个也是唯一一个与条件或函数匹配的元素,即:
{1,1}


我的目标是找到包含
{1,{}
的所有元组,其中第一个元素必须是1,第二个元素可以是任何值。

这里您可以使用模式匹配的理解:

result = for x = {1, _} <- list, do: x

Enum.find/2
在您查找单个元素时非常有用,例如,如果您想找到与您的条件匹配的第一个条目。

这里您可以使用模式匹配的理解:

result = for x = {1, _} <- list, do: x

Enum.find/2
在您查找单个元素时非常有用,例如,如果您想找到与您的条件匹配的第一个条目。

在您的问题中显示一些,即一些长生不老药代码。StackOverflow不是我做作业的好方法webiste@BasileStarynkevitch“我试过了……”这一部分正好说明了我的尝试。你的说法是没有根据的。在你的问题中展示一些,那是一些长生不老药代码。StackOverflow不是我做作业的好方法webiste@BasileStarynkevitch“我试过了……”这一部分正好说明了我的尝试。你的说法是没有根据的。
Enum.filter(list,&match?({1,},&1))
Enum.filter(list,fn{1,}->true;{u}->false end)
:)实际上是理解规则,当然。
Enum.filter(list,&match?({1,{u},&1->)或
Enum.filter(list,fn{1,&false end)
实际上是理解规则,当然