Erlang获得列表中每个元组的第一个元素

时间:2018-12-19 15:31:21

标签: functional-programming erlang erl

例如,如果我同时创建列表,则可以获得每个元组的第一个元素

[element(2,X) || X <- [{1,2},{3,4}]].
[2,4]

这可以正常工作。 我希望能够先在列表上创建列表,然后再获得所需的内容,例如

X = [{1,2,3},{3,4,5}]. 
[{1,2,3},{3,4,5}]

然后

element(1,X).

但是我得到了错误

** exception error: bad argument
     in function  element/2
        called as element(1,[{1,2,3},{3,4,5}])

我希望这段代码给出与第一个示例相同的结果

1 个答案:

答案 0 :(得分:1)

使用List Comprehension

[A || {A,_,_} <- X]

这就是说我们要打印元素A,其中A等于元组{A,}等于X中的每个元组。因为我们不在乎第二个和第三个元素,它们被设置为等于_,然后我们只选择A。