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)
实际上是理解规则,当然