【问题标题】:Erlang: Get the first element of each tuple in a listErlang:获取列表中每个元组的第一个元素
【发布时间】:2019-05-20 03:12:50
【问题描述】:

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

[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}])

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

【问题讨论】:

    标签: functional-programming erlang tuples list-comprehension erl


    【解决方案1】:

    List Comprehension 与生成器一起使用(

    X = [{1,2,3},{3,4,5}].
    [A || {A,_,_} <- X].
    

    这是说我们要打印元素A,其中A取自元组{A,_,_}(我们从X中的每个元组生成的元组)。因为我们只选择A,并不关心第二个和第三个元素,所以它们被设置为等于_。


    输出

    1> X = [{1,2,3},{3,4,5}].
    [{1,2,3},{3,4,5}]
    2> [A || {A,_,_} <- X].
    [1,3]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-19
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      相关资源
      最近更新 更多