查询Julia字典中的某些值

Unk*_*der 3 linq julia

我不是编程新手,但我是朱莉娅的新手.我有一个Julia字典对象,如下所示:

Dict{Any,Any}(28.1=>1, 132.0=>2, 110.0=>3)
Run Code Online (Sandbox Code Playgroud)

如何编写代码来过滤掉符合特定条件的值?就像让我们说我想要所有值> 2或> = 2的对.我基本上在寻找Julia中的LINQ等价物.

Fen*_*ang 5

Base,标准方法是使用mapfilter:

julia> d = Dict{Any,Any}(28.1=>1, 132.0=>2, 110.0=>3);
julia> filter((k, v) -> v > 2, d)
Dict{Any,Any} with 1 entry:
  110.0 => 3
Run Code Online (Sandbox Code Playgroud)

如果你使用DataFrames,有一个LINQ一样的界面DataFramesMeta.

  • 这不再起作用(Julia 1.5)。```错误:MethodError:没有方法匹配 (::var"#72#73")(::Pair{Any,Any})``` (2认同)
  • 是的,现在您需要执行“filter(kv -> kv.second > 2, d)”。 (2认同)