[解決済み] RubyでHashの値による降順ソート
2023-08-07 01:44:50
質問
入力ハッシュを
h = { "a" => 20, "b" => 30, "c" => 10 }
昇順ソート
h.sort {|a,b| a[1]<=>b[1]} #=> [["c", 10], ["a", 20], ["b", 30]]
しかし、私は
[["b", 30], ["a", 20], ["c", 10]]
逆にどのようにすればいいのでしょうか、何をもって
<=>
は何を意味するのでしょうか?
どのように解決するのですか?
よりきれいに、よりクリアに、より速く、一挙に手に入れることができるのです こんな感じ。
h.sort_by {|k,v| v}.reverse
1000要素のハッシュをランダムな値でソートする3000回の反復処理の時間をベンチマークしたところ、以下のようなタイムが得られました。
h.sort {|x,y| -(x[1]<=>y[1])} -- 16.7s
h.sort {|x,y| y[1] <=> x[1]} -- 12.3s
h.sort_by {|k,v| -v} -- 5.9s
h.sort_by {|k,v| v}.reverse -- 3.7
関連
-
[解決済み] Rubyで配列を降順にソートする方法
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み] Rubyで、selectとmapを組み合わせたArrayメソッドはありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] レスキューVSシドキック?[クローズド]
-
[解決済み] このタスクを実行するには、Ruby と Sass をインストールし、PATH に配置する必要があります」という警告を解決するには?
-
[解決済み] doブロックと中括弧{}の使い分け
-
[解決済み] Ruby の文字列から最後の n 文字を抽出する。
-
[解決済み] 文字列内の複数の空白と改行を削除する
-
[解決済み] 変数名を使ったRubyの正規表現
-
[解決済み] 既存の文字列に追加する
-
[解決済み] Rubyで文字列中のある文字の出現回数を検索する
-
[解決済み] Rubyです。変数を文字列にマージする
-
[解決済み] FactoryGirlのbuildメソッドとcreateメソッドの違いは何ですか?