Pythonで入力文字列の文字の出現回数に応じて2つの出力文字列を生成する方法
このプログラムでは、文字列を受け取り、特定の条件に基づいて各文字の出現回数をカウントします。1つ目の条件は「一度だけ出現するすべての文字」を抽出すること、2つ目の条件は「複数回出現するすべての文字」を抽出することです。その後、それぞれの結果を一覧として出力します。
処理の流れ
目的の結果を得るために実行する論理的な手順は以下の通りです。
- Counter を使用して、文字列をキーと値を持つ辞書(Dictionary)形式に変換します。
- 続いて join() メソッドを使い、「一度だけ出現する文字」と「複数回出現する文字」のリストをそれぞれ分離します。
以下のプログラムでは、入力文字列を受け取り、上記の手順に従って文字を分類して表示します。
サンプルコード
from collections import Counter
def Inputstrings(load):
Dict = Counter(load)
occurrence = [key for (key, value) in Dict.items() if value == 1]
occurrence_1 = [key for (key, value) in Dict.items() if value > 1]
occurrence.sort()
occurrence_1.sort()
print('characters occurring once:')
print(''.join(occurrence))
print('characters occurring more than once:')
print(''.join(occurrence_1))
if __name__ == "__main__":
load = "Tutorialspoint has best tutorials"
Inputstrings(load)上記のコードを実行すると、以下のような結果が出力されます。
実行結果
characters occurring once: Tbehnp characters occurring more than once: ailorstu
-
Pythonで文字列から文字を削除する方法|スライス・replace・正規表現の使い分け
Pythonで文字列から特定の文字を削除したい場面はよくあります。目的に応じていくつかの方法があるため、それぞれの特徴と使い方を解説します。 特定のインデックスの文字を削除する(スライス) 文字列の中から指定した位置(インデックス)の1文字だけを削除したい場合は、文字列スライスを使うのが最もシンプルです。削除したい位置の前後をつなぎ合わせることで、その文字だけを取り除いた新しい文字列を作成できます。 >>> s = Hello World >>> s[:4] + s[5:] Hell World この例では、インデックス4にある「o」を除外し、それ以外の部
-
Pythonで大文字と数字を組み合わせたランダム文字列を生成する方法
Pythonでは、random.choice() を使うことで候補リストの中からランダムに1文字を取得できます。これを指定した回数だけ繰り返してリストに格納し、最後に join() で連結すれば、ランダムな文字列が完成します。ここでの「候補」となるのは、大文字のアルファベット(string.ascii_uppercase)と数字(string.digits)です。以下に関数化した例を示します。関数を使って生成する基本形import string import random def get_random_string(length): random_list = [] for