gpt4 book ai didi

elixir - 反转并连接列表

转载 作者:行者123 更新时间:2023-12-02 08:01:38 24 4
gpt4 key购买 nike

将列表的反向版本连接到原始列表的最惯用的方法是什么?所以:

Input:  [1, 2, 3], which is the output of my_func()
Output: [1, 2, 3, 3, 2, 1]

可以用这样一种不太惯用的方式实现这一点:

n = my_func() # returns e.g. [1, 2, 3]
n_reversed = Enum.reverse(n)
n_combined = Enum.concat(n, n_reversed)

我在想这样的事情(行不通):

my_func() |> Enum.concat(Enum.reverse(&(&1)))

这个解决方案确实有效,但对我来说不是很地道:

n |> Enum.reverse() |> (fn enum -> Enum.concat(n, enum) end).()

您知道实现此目标的惯用方法吗?

最佳答案

我会说使用 ++ 运算符而不是 Enum.concat 会更惯用。 (注意 ++ 要求参数是列表,而 Enum.concat 接受任何类型的可枚举。)

n_combined = n ++ Enum.reverse(n)

关于elixir - 反转并连接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56474268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com