文字列をカスタム順序で並べ替えるPythonプログラム
1つの英数字の文字列があるとします。次の条件に基づいて並べ替える必要があります
-
ソートされたすべての小文字は大文字の前に配置されます。
-
ソートされた大文字はすべて数字の前に配置されます。
-
ソートされたすべての奇数桁は、ソートされた偶数桁の前に配置されます。
したがって、入力がs ="HeLlo1234"のような場合、出力はeloHL1324
になります。これを解決するには、次の手順に従います-
- 関数f()を定義します。これにはcがかかります
- コード:=0
- cが大文字の場合、
- コード:=10 ^ 3
- それ以外の場合、cが数字の場合、
- コード:=10 ^ 6
- cのASCIIが偶数の場合、
- コード:=10 ^ 9
- リターンコード+cのASCII
- メインの方法から次の手順を実行します
- l:=sのソートされたリストと、f()関数を呼び出してsの各文字cを並べ替えます
- lの各文字を結合して、戻る
例
理解を深めるために、次の実装を見てみましょう
def f(c): code = 0 if c.isupper(): code = 10 ** 3 elif c.isdigit(): code = 10 ** 6 if ord(c) % 2 == 0: code = 10 ** 9 return code + ord(c) def solve(s): l = sorted(s, key=lambda c: f(c)) return ''.join(l) s = "HeLlo1234" print(solve(s))
入力
"HeLlo1234"
出力
eloHL1324
-
Pythonプログラムでの選択ソート
この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-
-
選択ソート用のPythonプログラム
この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでにソートされているサブアレイ ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう- 例