gpt4 book ai didi

python - Ruby 哈希相当于 Python dict setdefault

转载 作者:太空狗 更新时间:2023-10-29 17:43:17 26 4
gpt4 key购买 nike

在 Python 中,可以读取字典/哈希键,同时将键设置为默认值(如果键不存在)。

例如:

>>> d={'key': 'value'}
>>> d.setdefault('key', 'default')
'value' # returns the existing value
>>> d.setdefault('key-doesnt-exist', 'default')
'default' # sets and returns default value
>>> d
{'key-doesnt-exist': 'default', 'key': 'value'}

是否有 Ruby 哈希的等价物?如果不是,Ruby 中惯用的方法是什么?

最佳答案

Hash 可以有默认值或默认 Proc(当键不存在时调用)。

h = Hash.new("hi")
puts h[123] #=> hi
# change the default:
h.default = "ho"

在上述情况下,哈希保持为空。

h = Hash.new{|h,k| h[k] = []}
h[123] << "a"
p h # =>{123=>["a"]}

Hash.new([]) 不会起作用,因为相同的数组(与相同的对象相同)将用于每个键。

关于python - Ruby 哈希相当于 Python dict setdefault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843666/

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