2016-12-05 7 views
1

リストをどのように使うことができますか:タプルのリストから特定のタプルを取得するためのフィルタです。 私のコードは次のとおりです。タプルをリストに入れる方法は?

myFilter(Item,List)-> 
     MyItems = lists:map(fun(X)-> element(2,X) end,List), 
     lists:filter(fun()-> lists:member(Item,MyItems) end , List). 

例:

myFilter(1,[{atom1,1,"P1"},{atom2,2,"P1"},{atom3,3,"P3"}]) = {atom1,1,"P1"} 

答えて

4

lists:keyfindは、まさにこのためのものです! lists:keyfind(1, 2, List)は、第2項目1あるリストの最初のタプルを返すか、それがいずれも見つからない場合はfalseを返します。

1> List = [{atom1,1,"P1"},{atom2,2,"P1"},{atom3,3,"P3"}]. 
[{atom1,1,"P1"},{atom2,2,"P1"},{atom3,3,"P3"}] 
2> lists:keyfind(1, 2, List). 
{atom1,1,"P1"} 
関連する問題