Pythonでのランレングスエンコーディング
このチュートリアルでは、Pythonでランレングスエンコーディングを作成する方法を学習します。文字列を指定すると、文字と頻度を含む新しい文字列が返されます。
たとえば、文字列 tutorialspoint t3u1o2r1i2a1l1s1p1n1としてエンコードされます 。順序はすべての文字+頻度です 。それらすべてに参加して戻ります。プログラムを作成するには、以下の手順を参照してください。
-
run_length_encodingという名前で関数を記述します。
-
OrderedDictを使用して辞書を初期化します 文字の初期カウントを0として取得します。
-
文字列のすべての文字を繰り返し処理し、辞書のカウントをインクリメントします。
-
すべての文字とその頻度を結合します。そしてそれを印刷します。
-
文字列を初期化し、関数を呼び出します。
例
上記のテキストのコードを見てみましょう。
# importing the collections import collections # function def run_length_encoding(string): # initialzing the count dict count_dict = collections.OrderedDict.fromkeys(string, 0) # iterating over the string for char in string: # incrementing the frequency count_dict[char] += 1 # initializing the empty encoded string encoded_string = "" # joining all the chars and their frequencies for key, value in count_dict.items(): # joining encoded_string += key + str(value) # printing the encoded string print(encoded_string) # initializing the strings string = "tutorialspoint" # invoking the function run_length_encoding(string) # another string string = "aaaaaabbbbbccccccczzzzzz" run_length_encoding(string)
出力
上記のコードを実行すると、次の出力が得られます。
t3u1o2r1i2a1l1s1p1n1 a6b5c7z6
結論
チュートリアルで疑問がある場合は、コメントセクションでそれらについて言及してください。
-
文字列に偶数の長さの単語を出力するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を指定すると、文字列内のすべての単語を均等な長さで表示する必要があります。 アプローチ split()関数を使用して入力文字列を分割します。 forを使用して文字列の単語を繰り返し処理します ループ& len()を使用して単語の長さを計算します 機能。 長さが均等であると評価されると、単語が画面に表示されます。 それ以外の場合、画面に単語は表示されません。 次に、以下の実装を見てみましょう- 例 def printWords(s): # split
-
Pythonで文字列の長さを取得するにはどうすればよいですか?
Pythonには、複合オブジェクトの長さを指定するlen()というメソッドがあります。文字列の長さを取得するには、文字列をlen()呼び出しに渡すだけです。たとえば、 print(len('abcdefghijklmnopqrstuvwxyz')) 出力 26