从 ruby 哈希中删除特定键(和值)
remove specific keys (and values) from a ruby hash
我有一个单词和计数的散列
result_hash
# => {"should"=>1790.8069584736252,
# "is"=>1580.7037037037037,
# "may"=>1562.1964085297418,
# "used"=>1452.4938271604938,
以及我需要从散列中删除的一组抑制词(key/value 对)。
我试过 except and extract 似乎什么都没有被删除:Was 在禁止列表和结果哈希中,即使在我使用 except.
suppression_list.class # => Array
suppression_list.first.class # => String
result_hash.except(suppression_list)["was"] # => 736.1234567901234
suppression_list.index("was") # => 443
result_hash["was"] # => 736.1234567901234
new = result_hash.except(suppression_list)
new["was"] # => 736.1234567901234
new = result_hash.except!(suppression_list)
new["was"] # => 736.1234567901234
result_hash["was"] # => 736.1234567901234
请帮我从 result_hash
中删除禁止列表(键和值)。
Hash#except
, Hash#except!
不接受键数组,但键作为任意参数。您需要使用 *
运算符将数组转换为方法参数:
result_hash.except(*suppression_list)
我有一个单词和计数的散列
result_hash
# => {"should"=>1790.8069584736252,
# "is"=>1580.7037037037037,
# "may"=>1562.1964085297418,
# "used"=>1452.4938271604938,
以及我需要从散列中删除的一组抑制词(key/value 对)。
我试过 except and extract 似乎什么都没有被删除:Was 在禁止列表和结果哈希中,即使在我使用 except.
suppression_list.class # => Array
suppression_list.first.class # => String
result_hash.except(suppression_list)["was"] # => 736.1234567901234
suppression_list.index("was") # => 443
result_hash["was"] # => 736.1234567901234
new = result_hash.except(suppression_list)
new["was"] # => 736.1234567901234
new = result_hash.except!(suppression_list)
new["was"] # => 736.1234567901234
result_hash["was"] # => 736.1234567901234
请帮我从 result_hash
中删除禁止列表(键和值)。
Hash#except
, Hash#except!
不接受键数组,但键作为任意参数。您需要使用 *
运算符将数组转换为方法参数:
result_hash.except(*suppression_list)