红宝石:如何在数组中找到非唯一的元素并打印每个元素的数量?
发布时间:2020-12-16 19:59:01 所属栏目:百科 来源:网络整理
导读:我有 a = ["a","d","c","b","c"] 并需要打印类似的东西(按出现次数排序) c:3b:2 我明白第一部分(发现非唯一)是: b = a.select{ |e| a.count(e) 1 }= ["c","c"] 要么 puts b.select{|e,c| [e,a.count(e)] }.uniqcb 如何输出每一个非唯一的数量排序次数? 解
我有
a = ["a","d","c","b","c"] 并需要打印类似的东西(按出现次数排序) c:3 b:2 我明白第一部分(发现非唯一)是: b = a.select{ |e| a.count(e) > 1 } => ["c","c"] 要么 puts b.select{|e,c| [e,a.count(e)] }.uniq c b 如何输出每一个非唯一的数量排序次数? 解决方法puts a.uniq. map { | e | [a.count(e),e] }. select { | c,_ | c > 1 }. sort.reverse. map { | c,e | "#{e}:#{c}" } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |