gpt4 book ai didi

ruby - 如何从具有元素和频率的哈希创建数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:39 25 4
gpt4 key购买 nike

我有一个散列,其中每个键对应于它的频率:

hsh = {'a' => 2, 'b' => 3, 'c' => 1}

我想分解成一个数组:

arr = ['a', 'a', 'b', 'b', 'b', 'c']

我使用了以下方法,效果很好,但是有更好的方法吗?

arr = []
hsh.each do |x,y|
y.times do
arr << x
end
end

最佳答案

arr = hsh.flat_map { |k, v| [k] * v }
#=> ["a", "a", "b", "b", "b", "c"]

关于ruby - 如何从具有元素和频率的哈希创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41129969/

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