如何用ruby统计数组或哈希中不同元素的个数

Python011

如何用ruby统计数组或哈希中不同元素的个数,第1张

得到不同数据的值:

%w(a b c a c d).uniq

得到各个元素出现的个数:

count_hash = {}

%w(a b c a c d).each do |item|

key = item.to_sym

if count = count_hash[key]

count_hash[key] = count + 1

else

count_hash[key] = 1

end

end

如果一个数组只有声明而未定义,那么必须确定类型和元素数(就是[]中必须有常量数字),那么用sizeof()函数就能测出来所占字节数,然后除以类型的长短(该类型变量占用的字节数)就知道是多少个元素了。如果连声明都没有,那永远是不会知道它有多少个元素的。

数组是

array = [[1],[2],[3],[0],[1,2],[1,0],[0,1]]

希望排序整个数组,先按照数组 元素个数 ,如果个数相同再 按照首个元素大小

array.sort_by {|a| [a.size, a[0]] }