[Python] count() 특정 요소의 개수

2021. 8. 15. 15:40Python

1. count( )

string.count("findword")

"변수.count("찾는 요소") 형태로 사용할 수 있다

인덱스의 위치를 반환하는 find(), index()는 달리 찾고자 하는 요소가

해당 문자열 안에서 몇 번 사용되었는지 그 횟수를 값으로 반환해준다

 

즉, 찾고 싶은 요소(문자)의 개수를 쉽게 파악할 수 있는 파이썬의 내장 함수이다

 

 

2. count( ) 사용이 가능한 타입

리스트, 튜플, 딕셔너리 이 외에도 반복 가능한 자료형에서는 모두 사용이 가능하다

단, bool과 set 자료형에서는 사용이 불가능하다

 

위 코드를 봤을 때 반환 결과가 어떻게 나올지 생각해보자

 

결과는 모두 2가 나온다

소괄호 안에 문자 또는 문자열을 어떻게 수정하여도 항상 같은 결과를 반환한다

 

하지만, set과 bool은 다르다

생각해보면 count의 사용이 제한되는 것이 어쩌면 당연한 결과일지도 모른다

 

bool은 애초에 문자를 표현하기 위한 자료형이 아니다

True와 False를 반환할 뿐, bool은 그 자체로 문자를 표현할 수 없다

 

단, 예외적으로 아래 사진과 같이 Tuple의 형태로 묶이게 되면 결과를 반환하기는 한다

결과 : 3을 출력한다

이 결과는 Tuple의 형태로 묶였기 때문에 가능할 뿐, 절대 bool 자료형을 count 한 것은 아니다

 

 

set은 선언 당시에 이미 중복 값을 제거하는 함수이다

이미 중복 값이 제거되고 모두 한 개씩만 남은 데이터를 count한들 아무 의미도 없을 것이다

 

실제로 결과를 확인해보면 아래와 같이 AttributeError를 발생시킨다

 

 

3. 결론

해당 문자열의 특정 요소를 찾기를 희망할 때 매우 좋은 기능으로 활용 가능하다

실제로 set, bool은 딱히 count를 체크할 필요가 없는 자료형으로,

일반적으로 사용하는 대부분의 자료형은 count( )가 정상적으로 동작을 수행해준다

반복문을 돌며 조건으로 같은 값 또는 다른 값을 찾아서 찾기보다 count( )를 적극 활용하자

'Python' 카테고리의 다른 글

[ErrorCode] AssertionError:  (0) 2021.08.28
[Python] find(), index() 인덱스, 위치 반환 함수  (0) 2021.08.15
1. pip install error  (0) 2021.08.11