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

Pythonでカラーリストを分割するプログラム


色の文字列のリストがあり、これらに「赤」、「緑」、「青」が含まれている場合、赤が緑の前に、緑が青の前になるようにリストを分割する必要があります。

したがって、入力がcolors =["blue"、 "green"、 "blue"、 "red"、 "red"]の場合、出力は['red'、'red'、'green'、 '青'、'青']

これを解決するには、次の手順に従います-

  • 緑:=0、青:=0、赤:=0

  • strsの文字列ごとに、実行します

    • 文字列が「赤」と同じ場合、

      • strs [blue]:="blue"

      • 青:=青+1

      • strs [green]:="green"

      • 緑:=緑+1

      • strs [red]:="red"

      • 赤:=赤+ 1

    • それ以外の場合、文字列が「緑」と同じ場合、

      • strs [blue]:="blue"

      • 青:=青+1

      • strs [green]:="green"

      • 緑:=緑+1

    • それ以外の場合、文字列が「青」と同じ場合、

      • strs [blue]:="blue"

      • 青:=青+1

  • strsを返す

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, strs):
      green = 0
      blue = 0
      red = 0
      for string in strs:
         if string == "red":
            strs[blue] = "blue"
            blue += 1
            strs[green] = "green"
            green += 1
            strs[red] = "red"
            red += 1
         elif string == "green":
            strs[blue] = "blue"
            blue += 1
            strs[green] = "green"
            green += 1
         elif string == "blue":
            strs[blue] = "blue"
            blue += 1
      return strs
ob = Solution()
colors = ["blue","green", "blue", "red", "red"]
print(ob.solve(colors))

入力

["blue","green", "blue", "red", "red"]

出力

['red', 'red', 'green', 'blue', 'blue']

  1. リストの累積合計を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l):    new = []    cumsum = 0    for element in l:       cumsum += element       new.append(cumsum) &

  2. リストを複製またはコピーするPythonプログラム。

    このプログラムでは、ユーザー入力リストが与えられています。私たちの仕事は、リストをコピーまたは複製することです。ここでは、スライス手法を使用します。この手法では、参照とともにリスト自体のコピーを作成します。このプロセスはクローン作成とも呼ばれます。 アルゴリズム Step 1: Input elements of the array. Step 2: then do cloning using slicing operator(:). サンプルコード # Python program to copy or clone a list # Using the Slice Operator