小编lat*_*jiu的帖子

Elixir:如何从元组列表中找到所有出现的值?

找出所有出现的{1, _}; 换句话说,列表中每个元组的所有第一个元素值都是 1。

考虑以下输入:

[
  {1, 0},
  {2, 2},
  {1, 1},
  {11, 1},
  {1, 3},
  {1, 2},
  {13, 1}
]
Run Code Online (Sandbox Code Playgroud)

预期输出:

[{1,0}, {1,1}, {1,3}, {1,2}]
Run Code Online (Sandbox Code Playgroud)

我试过了Enum.find(tl(input), fn x -> elem(x, 0) == elem(hd(input), 0) end),但我意识到Enum.find/2只返回第一个也是唯一一个符合条件或函数的元素,即:{1,1}

我的目标是找到所有包含 的元组{1, _},其中第一个元素必须是 1,第二个元素可以是任何值。

functional-programming tuples list elixir find-occurrences

2
推荐指数
1
解决办法
169
查看次数

Haskell:为什么将变量的尾部重新分配给它自己的变量会出现问题?

假设您有一个包含以下列表的变量:

Prelude> arr = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

你也是,

Prelude> arr
[1,2,3,4,5]
Prelude> arr = tail arr
Prelude> arr

Run Code Online (Sandbox Code Playgroud)

为什么编译器现在冻结了?我试图在递归中实现这个代码语句,但这种现象阻止了我的递归正常工作——它不断返回一个空列表错误。

recursion haskell list freeze

1
推荐指数
1
解决办法
74
查看次数

Elixir:在元组列表中找到最常见的元素(频率)?

我知道这是 stackoverflow 上的一个常见问题,但找不到专门针对 Elixir 的解决方案。

考虑元组列表:

[
  {1, 3, "1S"},
  {10, 3, "3S"},
  {10, 3, "9S"},
  {10, 3, "10S"},
  {10, 3, "11S"},
  {12, 3, "12S"},
  {13, 3, "13S"}
]
Run Code Online (Sandbox Code Playgroud)

预期结果:每个元组的第一个参数中最常见的元素是 10。每个元组的第二个参数中最常见的元素是 3。

是否有执行此操作的函数,或者我必须创建自己的函数来“迭代”每个元组列表elem(list, index)

tuples element list frequency elixir

0
推荐指数
1
解决办法
125
查看次数