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

Pythonで文字列内の母音を数えて表示する方法


文字列が与えられたとき、その中に母音(a、e、i、o、u)がそれぞれ何個含まれているかを調べるのは、Pythonプログラミングでよく使われるテクニックです。本記事では、代表的な2つのアプローチ「setを使う方法」と「fromkeysを使う方法」を、サンプルコードと実行結果あわせて解説します。

set(集合)を使う方法

まず文字列から重複を除いた一意な文字を抽出し、それが母音を表す文字列に含まれているかどうかを判定します。この方法では、文字列内に出現した母音の種類をひと目で確認できます。

サンプルコード

stringA = "Tutorialspoint is best"
print("Given String: \n", stringA)
vowels = "AaEeIiOoUu"
# 母音を取得
res = set([each for each in stringA if each in vowels])
print("The vowels present in the string:\n ", res)

実行結果

上記のコードを実行すると、次のような結果が得られます。

Given String:
Tutorialspoint is best
The vowels present in the string:
{'e', 'i', 'a', 'o', 'u'}

リスト内包表記で文字列の各文字を走査し、母音に該当するものだけをsetに格納することで、重複のない母音の一覧が得られています。

fromkeysを使う方法

dict.fromkeys()メソッドを利用すると、各母音を辞書のキーとして扱い、出現回数を正確に集計できます。大文字と小文字の違いを無視するため、casefold()で文字列をあらかじめ小文字に統一している点がポイントです。

サンプルコード

stringA = "Tutorialspoint is best"
# 大文字小文字を区別しない
stringA = stringA.casefold()
vowels = "aeiou"

def vowel_count(string, vowels):
    # 母音を辞書のキーとして初期化(初期値は0)
    count = {}.fromkeys(vowels, 0)

    # 各母音の出現回数をカウント
    for v in string:
        if v in count:
            # 出現するたびにカウントを増やす
            count[v] += 1
    return count

print("Given String: \n", stringA)
print("The count of vowels in the string:\n ", vowel_count(stringA, vowels))

実行結果

上記のコードを実行すると、次のような結果が得られます。

Given String:
tutorialspoint is best
The count of vowels in the string:
{'a': 1, 'e': 1, 'i': 3, 'o': 2, 'u': 1}

まとめ

setを使う方法は「どの母音が含まれているか」という種類の把握に適しており、処理もシンプルです。一方、fromkeysを使う方法は「各母音が何回出現したか」という詳細な集計が必要な場合に便利です。目的に応じて両者を使い分けることで、文字列解析を効率的に行えます。

  1. セットを使って文字列内の母音の数をカウントするPythonプログラム

    本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe

  2. Pythonで文字列内の母音の数を数える方法をわかりやすく解説

    Pythonで文字列内の母音の数を数える基本手順Pythonでは、シンプルなループ処理を使うことで、文字列に含まれる母音(a、e、i、o、u)の数を簡単に数えることができます。ここでは、初心者にもわかりやすいように、基本的な実装手順を順を追って解説します。ステップ1:母音をまとめた文字列を用意するまず、すべての母音を格納した文字列オブジェクトを宣言します。>>> vowels = aeiouステップ2:カウント用の変数を初期化する次に、母音の出現回数を記録するための変数を0で初期化します。>>> count = 0ステップ3:文字列を走査して母音を判定する対