[解決済み] 文字列の長さとアルファベット順で並べ替えるには?
2023-07-12 16:12:09
質問
私は現在pythonの初心者ですが、この質問で行き詰まってしまい、適切な答えを見つけることができないようです。
question:単語のリストが与えられたとき、同じ単語を長さの順(長いものから短いもの)に並べたリストを返す。2番目のソート基準はアルファベット順でなければならない。ヒント:2つの関数を考える必要があります。
今のところこんな感じです。
def bylength(word1,word2):
return len(word2)-len(word1)
def sortlist(a):
a.sort(cmp=bylength)
return a
は長さでソートしますが、このソートに2つ目の基準であるアルファベットの降順で適用する方法が分かりません。
どのように解決するのですか?
このように2つのステップで行うことができます。
the_list.sort() # sorts normally by alphabetical order
the_list.sort(key=len, reverse=True) # sorts by descending length
Pythonのsortは安定しており、長さによるリストのソートは、長さが等しい場合、要素をアルファベット順に残すことを意味します。
このようにすることもできます。
the_list.sort(key=lambda item: (-len(item), item))
一般に
cmp
は不要で、Python3では削除されました。
key
の方がずっと使いやすいです。
関連
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] 多次元配列の値によるソート方法
-
[解決済み] 辞書をキーでソートするにはどうしたらいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] Django filter queryset __in for *every* item in list
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複
-
[解決済み] 文字列はどのように比較されるのですか?