配列内の要素の出現回数を求める
ary = [ 1, "a", 2, "b", "a", 1, "a" ]
p results = ary.each_with_object( Hash.new( 0 ) ){ |elem, hash| hash[ elem ] += 1 }
#=> { 1=>2, "a"=>3, 2=>1, "b"=>1 }
Ruby には、下のPython のcollections.Counter みたいな関数がありますか?
import collections
l = ['a', 'a', 'a', 'a', 'b', 'c', 'c']
c = collections.Counter(l)
print(c)
#=> Counter({'a': 4, 'c': 2, 'b': 1})
Rubyで、誰かが作ったものはあるけど
https://gist.github.com/cielavenir/501c0cf491e10d905d4307bdeb2596ea
ニュース
- 【サッカー】U-21日本代表、韓国に敗れアジア大会銀メダル チケット完売の決勝戦…16年ぶり優勝逃す★3 [ゴアマガラ★]
- 【アジア大会】サッカー表彰式でトラブル… 優勝の韓国の国旗掲揚されず 韓国の旗だけ下がったまま国歌 応援団ブーイング、選手は困惑 [冬月記者★]
- 自民党幹部「辞めさせない」 簗大臣の発言「格好つけて言ってしまっただけ」 [バイト歴50年★]
- 【テレビ】『都道府県魅力度ランキング』 佐藤栞里、埼玉県の最下位脱出に歓喜「すごーい!」 ワースト3は佐賀県、茨城県、群馬県 [冬月記者★]
- 【芸能】広瀬すず「私は異性の友情はあると思っている」 女子高生の恋愛の悩みに真剣回答 [冬月記者★]
- 【芸能】「詐欺じゃないですか?!」 Amazonで新品購入→届いた商品にグラドルが憤り… ネットも「これはひどい」 [冬月記者★]