代码之家  ›  专栏  ›  技术社区  ›  Sam

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

  •  1
  • Sam  · 技术社区  · 6 年前

    [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 回复  |  直到 5 年前
        1
  •  6
  •   Sam    5 年前

    使用 List Comprehension

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

    这意味着我们要打印元素 A {A,_,_} (我们从X中的每个元组生成的元组)。因为我们只选择了一个元素,而不关心第二个和第三个元素,所以它们被设置为等于。


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