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

【Python入門】文字列の先頭文字をキー、その文字で始まる単語を値とした辞書を作成する方法

Pythonでは、ユーザーが入力した文字列を単語ごとに分割し、各単語の先頭文字をキーその文字で始まる単語を値として持つ辞書(ディクショナリ)を簡単に作成できます。

この処理には、文字列を分割する split() メソッド、データを格納するための辞書、そして条件分岐を行うシンプルな if 文を使用します。

サンプルコード

以下に具体的な実装例を示します。

my_string = input("Enter the string :")
split_string = my_string.split()
my_dict = {}
for elem in split_string:
    if(elem[0] not in my_dict.keys()):
        my_dict[elem[0]] = []
        my_dict[elem[0]].append(elem)
    else:
        if(elem not in my_dict[elem[0]]):
            my_dict[elem[0]].append(elem)
print("The dictionary created is")
for k, v in my_dict.items():
    print(k, ":", v)

実行結果

上記のコードを実行すると、以下のような出力が得られます。

Enter the string :Hey Jane, how are you
The dictionary created is
H : ['Hey']
J : ['Jane,']
h : ['how']
a : ['are']
y : ['you']

コードの解説

このプログラムの処理の流れは以下の通りです。

  • 文字列の入力: input() 関数を使って、ユーザーから文字列を受け取ります。
  • 変数への代入: 入力された文字列は変数 my_string に格納されます。
  • 文字列の分割: split() メソッドにより、文字列が空白区切りで単語ごとに分割され、変数 split_string に代入されます。
  • 空の辞書を作成: 結果を格納するための空の辞書 my_dict を用意します。
  • ループ処理: 分割された各単語に対して反復処理を行い、その単語の先頭文字がまだ辞書のキーとして存在しない場合は、新しいキーとして登録し、値として空のリストを割り当てます。
  • 要素の追加: その後、現在の単語を対応するキーのリストに追加します。すでにキーが存在する場合は、重複していないかを確認したうえで直接リストに追加します。
  • 結果の表示: 完成した辞書を items() メソッドで取り出し、キーと値のペアをコンソールに出力します。

このように、split() メソッドと if 文を組み合わせることで、先頭文字ごとに単語をグループ化した辞書を効率的に作成できます。大文字と小文字は別のキーとして扱われる点にも注意してください。

  1. Pythonによるデータ分析と可視化入門!pandas・matplotlibの使い方を解説

    このチュートリアルでは、Pythonのpandasやmatplotlibなどのモジュールを使ったデータ分析と可視化の方法を学びます。Pythonはデータ分析に非常によく適した言語です。まずは以下のコマンドでpandasとmatplotlibをインストールしましょう。 pip install pandas pip install matplotlib インストールが完了すると成功メッセージが表示されます。まずpandasについて学び、その後でmatplotlibを見ていきましょう。 pandasとは pandasはPythonのオープンソースライブラリで、データ分析のための豊富なツールを提供し

  2. Pythonの辞書にキーと値のペアを追加する方法を徹底解説

    Pythonの辞書(dict)は、キーと値のペアで構成されるコレクションです。すでに定義済みの辞書に対して、新しいキーと値のペアを追加する場面は開発の中で非常によくあります。この記事では、代表的な3つの追加方法を具体例とともにわかりやすく解説します。1. 新しいキーを添字として代入する最もシンプルな方法は、新しいキーを角括弧(添字)で指定し、そこに値を代入する書き方です。既存のキーを指定すれば値が上書きされ、存在しないキーを指定すれば新しい要素が追加されます。コード例CountryCodeDict = {India: 91, UK: 44, USA: 1} print(CountryCodeD