[解決済み] Map[string]intを値で並べ替えるには?
2023-01-08 13:54:01
質問
このコードブロックが与えられたとき
map[string]int {"hello":10, "foo":20, "bar":20}
プリントアウトしたい
foo, 20
bar, 20
hello, 10
高い順に並べると
どのように解決するのですか?
Andrew Gerrand氏のGolang-nutsで答えが見つかりました。
len/less/swap関数を書くことで、ソートインターフェースを実装することができます。
func rankByWordCount(wordFrequencies map[string]int) PairList{
pl := make(PairList, len(wordFrequencies))
i := 0
for k, v := range wordFrequencies {
pl[i] = Pair{k, v}
i++
}
sort.Sort(sort.Reverse(pl))
return pl
}
type Pair struct {
Key string
Value int
}
type PairList []Pair
func (p PairList) Len() int { return len(p) }
func (p PairList) Less(i, j int) bool { return p[i].Value < p[j].Value }
func (p PairList) Swap(i, j int){ p[i], p[j] = p[j], p[i] }
元の記事については、こちらをご覧ください。 https://groups.google.com/forum/#!topic/golang-nuts/FT7cjmcL7gw
関連
-
[解決済み] Map Reduce Programmingにおけるreducerのshufflingとsortingフェーズの目的は何ですか?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み] 辞書をキーでソートするにはどうしたらいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Elasticsearchがフィルタにないフィールドの値で注文する。
-
[解決済み] 負の整数の基数ソート
-
[解決済み] Map Reduce Programmingにおけるreducerのshufflingとsortingフェーズの目的は何ですか?
-
[解決済み] サイズnとmの2つのソートされた配列をマージする際の時間複雑度
-
[解決済み] Scalaで配列を並べ替えるには?
-
[解決済み] Haskellでは、どのように私はペア(タプル)のリストを並べ替えるために組み込みのsortBy関数を使用することができますか?
-
[解決済み] 構造体の配列を(任意の)フィールド名で単純にソートする最短の方法は何ですか?
-
[解決済み] ElasticSearchでソートするためのフィールドのマッピングが見つかりません。
-
[解決済み] なぜHaskellのクイックソートは "真の "クイックソートではないのか?