Python でアルファベット集合をソートする方法
2023-09-27 12:07:39
質問
私は、あるセット
set(['booklet', '4 sheets', '48 sheets', '12 sheets'])
ソート後、以下のようにしたい。
4 sheets,
12 sheets,
48 sheets,
booklet
何かいい案はないでしょうか?
どのように解決するのですか?
短く、甘く。
sorted(data, key=lambda item: (int(item.partition(' ')[0])
if item[0].isdigit() else float('inf'), item))
このバージョンでは
-
Python 2 と Python 3 で動作します、なぜなら。
- 文字列と整数の比較を想定していない (Python 3 では動作しない)
-
これは
cmp
パラメータをsorted
(これはPython 3には存在しません)
- 数量が等しい場合、文字列部分でソートされます。
例にあるような印刷出力を正確に行いたいのであれば
data = set(['booklet', '4 sheets', '48 sheets', '12 sheets'])
r = sorted(data, key=lambda item: (int(item.partition(' ')[0])
if item[0].isdigit() else float('inf'), item))
print ',\n'.join(r)
関連
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
最新
-
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のキャッシュライブラリはありますか?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例