実現したいこと
数字を昇順で並べ替えたいのですが、使用データの事情により 90 ~ 99 → 00 ~ 20 の順番で並べ替えたいです。
(これだけだと分かりにくいと思うので、具体例を後述します)
該当のソースコード・発生している問題・エラーメッセージ
#以下のリストを並べ変えたいです list = ["02", "99", "40", "00", "23", "10", "91", "93" ] #下の通りの順番に出力したいです(90~99が先、00~が後に来るようにソート) # [91, 93, 99, 00, 02, 10, 23, 40]
#試したこと list.sort(reverse=False) print(list) >> [00, 02, 10, 23, 40, 91, 93, 99] #目標と異なり、数値の小さい⇨大きいでソートする
補足情報(FW/ツールのバージョンなど)
Python 3.8
リストの中に入っている、並べ替えの対象になっているのは「文字列」ということでいいでしょうか。
ご質問ありがとうございます。
最初のリストは文字列を想定しておりました。
最終的な目標と致しましては、
・手元にある情報(リスト):["A_98", "A_99", "A_00", "A_03", "A_10", "A_01", "A_90", "A_10"]
・目指したい事:リストの情報の並び替え→90~99が含まれる文字列を先に、00~は昇順で並び替えした、["A_90", "A_98", "A_99", "A_00", "A_01", "A_03", "A_10"]という情報が欲しい
ということを目指しております。
ここではなく、質問を修正して回答したほうが、回答が付きやすいですよ。
また、元の問題があるのであれば、そのように書いたほうが、結局は近道になると思いますよ。
文字列の書式は 「A_<数字> 」で固定ですか?
他の文字列が混っていたりしませんか?
ご指摘ありがとうございます。
>文字列の書式は 「A_<数字> 」で固定ですか?
> 他の文字列が混っていたりしませんか?
おっしゃる通りです。
よろしくお願いいたします。
結局、解決したいのはどういう問題なのでしょう。
質問を編集してもう少し詳しく書いていただけますか。
ちなみに、たいていの場合、LouiS0616 さんの回答の内容でソートできるはずです。
