Python에서 문자열의 문자 발생 횟수 계산

Hiten Kanwar 2023년10월10일
  1. count()함수를 사용하여 Python에서 문자열에 포함 된 문자 수 계산
  2. collections.Counter를 사용하여 Python에서 문자열의 문자 발생 횟수 계산
  3. 정규식을 사용하여 Python에서 문자열의 문자 발생 횟수 계산
  4. defaultdict를 사용하여 Python에서 문자열의 문자 발생 횟수 계산
  5. pandas.value_counts()를 사용하여 Python에서 문자열의 문자 발생 횟수 계산
  6. lambda표현식을 사용하여 Python에서 문자열의 문자 발생 횟수 계산
  7. for루프를 사용하여 Python에서 문자열의 문자 발생 횟수 계산
Python에서 문자열의 문자 발생 횟수 계산

프로그래밍에서 문자열은 일련의 문자입니다.

이 튜토리얼은 파이썬에서 문자열에서 문자의 발생 수를 계산하는 방법을 소개합니다.

count()함수를 사용하여 Python에서 문자열에 포함 된 문자 수 계산

count()함수를 사용하여 문자열에서 값의 발생을 계산할 수 있습니다. 주어진 문자열에 값이 나타나는 횟수를 반환합니다.

예를 들면

print("Mary had a little lamb".count("a"))

출력:

4

대문자와 소문자는 다른 문자로 취급됩니다. Aa는 서로 다른 문자로 취급되며 개수가 다릅니다.

collections.Counter를 사용하여 Python에서 문자열의 문자 발생 횟수 계산

Countercollections모듈에있는 사전 서브 클래스입니다. 요소를 사전 키로 저장하고 해당 발생은 사전 값으로 저장됩니다. 오류를 발생시키는 대신 누락 된 항목에 대해 0 개를 반환합니다.

예를 들면

from collections import Counter

my_str = "Mary had a little lamb"
counter = Counter(my_str)
print(counter["a"])

출력:

4

카운터는 한 번에 모든 카운트를 계산하므로 많은 문자를 셀 때 더 나은 선택입니다. count()함수보다 훨씬 빠릅니다.

정규식을 사용하여 Python에서 문자열의 문자 발생 횟수 계산

정규식은 해당 패턴을 일치시켜 문자열 또는 문자열 집합을 찾는 데 도움이되는 패턴에 포함 된 특수 구문입니다. 정규식 작업을 위해re모듈을 가져옵니다.

문제에findall()함수를 사용할 수 있습니다.

예를 들면

import re

my_string = "Mary had a little lamb"
print(len(re.findall("a", my_string)))

출력:

4

defaultdict를 사용하여 Python에서 문자열의 문자 발생 횟수 계산

Defaultdictcollections 모듈에 있으며 사전 클래스에서 파생됩니다. 그 기능은 결코 존재하지 않는 키에 대한 기본값을 제공하므로KeyError를 발생시키지 않는다는 점을 제외하면 사전과 비교적 동일합니다.

아래와 같이 문자열에서 문자의 발생을 가져 오는 데 사용할 수 있습니다.

from collections import defaultdict

text = "Mary had a little lamb"
chars = defaultdict(int)

for char in text:
    chars[char] += 1

print(chars["a"])
print(chars["t"])
print(chars["w"])  # element not present in the string, hence print 0

출력:

4
2
0

pandas.value_counts()를 사용하여 Python에서 문자열의 문자 발생 횟수 계산

pandas.value_counts()메소드를 사용하여 제공된 문자열에있는 모든 문자의 발생을 가져올 수 있습니다. 문자열을Series객체로 전달해야합니다.

예를 들면

import pandas as pd

phrase = "Mary had a little lamb"
print(pd.Series(list(phrase)).value_counts())

출력:

     4
a    4
l    3
t    2
e    1
b    1
h    1
r    1
y    1
M    1
m    1
i    1
d    1
dtype: int64

Series개체에있는 모든 문자의 발생을 반환합니다.

lambda표현식을 사용하여 Python에서 문자열의 문자 발생 횟수 계산

‘Lambda’함수는 주어진 문자열에서 발생 횟수를 계산할 수있을뿐만 아니라 문자열이있는 경우 하위 문자열 목록으로도 작동 할 수 있습니다.

다음 코드를 참조하십시오.

sentence = ["M", "ar", "y", "had", "a", "little", "l", "am", "b"]
print(sum(map(lambda x: 1 if "a" in x else 0, sentence)))

출력:

4

for루프를 사용하여 Python에서 문자열의 문자 발생 횟수 계산

문자열을 반복하고 요소가 원하는 문자와 같으면 문자열의 끝에 도달 할 때까지 count 변수가 증가합니다.

예를 들면

sentence = "Mary had a little lamb"
count = 0
for i in sentence:
    if i == "a":
        count = count + 1
print(count)

출력:

4

sum()함수와 함께이 메소드를 사용하는 또 다른 방법은 아래에서 볼 수 있습니다.

my_string = "Mary had a little lamb"
print(sum(char == "a" for char in my_string))

출력:

4

관련 문장 - Python String