gpt4 book ai didi

ruby - 从 Ruby 数组中获取出现 2 次或更多次的项目

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

假设我有一个 Ruby 数组。

[1,2,3,4,4,5,6,6,7,7]

我想找到出现 2 次或更多次的值。

[4,6,7]

这将帮助我的流程首先确定哪些项目只出现一次,然后将其删除。所以我想通过首先找到出现一次的项目来解决这个问题。

最佳答案

可能有更好的方法,但这是一个:

> [1,2,3,4,4,5,6,6,7,7].group_by{|i| i}.reject{|k,v| v.size == 1}.keys
=> [4, 6, 7]

分解:

> a = [1,2,3,4,4,5,6,6,7,7]
=> [1, 2, 3, 4, 4, 5, 6, 6, 7, 7]
> a1 = a.group_by{|i| i}
=> {1=>[1], 2=>[2], 3=>[3], 4=>[4, 4], 5=>[5], 6=>[6, 6], 7=>[7, 7]}
> a2 = a1.reject{|k,v| v.size == 1}
=> {4=>[4, 4], 6=>[6, 6], 7=>[7, 7]}
> a2.keys
=> [4, 6, 7]

关于ruby - 从 Ruby 数组中获取出现 2 次或更多次的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27994139/

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