如何确定字典是否具有某些键?

时间:2020-01-10 04:02:01

标签: julia

我想键入字典,但是如果密钥不存在,Julia会抛出异常。为了避免出现异常,我首先必须检查字典中是否存在它们的键。

我现在正在使用此自定义功能:

function has_some_key(dict, key)
   for (k, v) in dict
       if k == key
           return true
       end
   end
   return false
end

是否有更好的方法来确定字典是否具有给定键的映射?

2 个答案:

答案 0 :(得分:6)

haskey将检查某些集合是否具有给定键的映射:

julia> d
Dict{Int64,String} with 2 entries:
  2 => "two"
  1 => "one"

julia> haskey(d, 1)
true

julia> haskey(d, 3)
false

答案 1 :(得分:4)

根据您的用例,可能可行的另一种方法是使用get提供默认值,以防键不存在:

julia> d = Dict(1 => "one", 2 => "two")
Dict{Int64,String} with 2 entries:
  2 => "two"
  1 => "one"

julia> get(d, 1, "zero")
"one"

julia> get(d, 3, "zero")
"zero"

还有get!,它还将存储查询键的默认值。

相关问题