[解決済み] ソフトウェアのバージョンなど、ドットで区切られた数値のリストをソートする
2023-04-25 10:44:25
質問
などのバージョン文字列を含むリストを持っています。
versions_list = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
ソートしたいので、結果はこのようになります。
versions_list = ["1.0.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
数字の優先順位は明らかに左から右へ、そして降順であるべきです。ですから
1.2.3
の前に
2.2.3
と
2.2.2
の前に
2.2.3
.
Pythonでこれを行うにはどうすればよいですか?
どのように解決するのですか?
各バージョンの文字列を分割し、整数のリストとして比較します。
versions_list.sort(key=lambda s: map(int, s.split('.')))
Gives、あなたのリストのために。
['1.0.0', '1.0.2', '1.0.12', '1.1.2', '1.3.3']
Python3では
map
を返さなくなりました。
list
を返さないので
で囲む必要があります。
list
と呼ぶ
.
versions_list.sort(key=lambda s: list(map(int, s.split('.'))))
ここでマップの代わりとなるのは リスト内包 . 参照 この記事 をご覧ください。
versions_list.sort(key=lambda s: [int(u) for u in s.split('.')])
関連
-
[解決済み] Pythonとpip、利用可能なパッケージのすべてのバージョンをリストアップ?
-
[解決済み] 文字列のリストからカンマで区切られた文字列を作るには?
-
[解決済み] 別のリストの値に基づいてリストをソートする
-
[解決済み] Python - 2つの値の間の数値でリストを作成しますか?
-
[解決済み】なぜPythonには符号関数がないのですか?
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
-
[解決済み] Python 3 でカスタム比較関数を使用するには?
最新
-
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 3.xでリストを返すmap()を取得する
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?