Python
 Computer >> コンピューター >  >> プログラミング >> Python

文字列をカスタム順序で並べ替える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

  1. Pythonプログラムでの選択ソート

    この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-

  2. 選択ソート用のPythonプログラム

    この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでにソートされているサブアレイ ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう- 例