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

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
  1. Pythonで文字列から文字を削除する方法|スライス・replace・正規表現の使い分け

    Pythonで文字列から特定の文字を削除したい場面はよくあります。目的に応じていくつかの方法があるため、それぞれの特徴と使い方を解説します。 特定のインデックスの文字を削除する(スライス) 文字列の中から指定した位置(インデックス)の1文字だけを削除したい場合は、文字列スライスを使うのが最もシンプルです。削除したい位置の前後をつなぎ合わせることで、その文字だけを取り除いた新しい文字列を作成できます。 >>> s = Hello World >>> s[:4] + s[5:] Hell World この例では、インデックス4にある「o」を除外し、それ以外の部

  2. Pythonで大文字と数字を組み合わせたランダム文字列を生成する方法

    Pythonでは、random.choice() を使うことで候補リストの中からランダムに1文字を取得できます。これを指定した回数だけ繰り返してリストに格納し、最後に join() で連結すれば、ランダムな文字列が完成します。ここでの「候補」となるのは、大文字のアルファベット(string.ascii_uppercase)と数字(string.digits)です。以下に関数化した例を示します。関数を使って生成する基本形import string import random def get_random_string(length): random_list = [] for