개발하는 사막여우
개발하는 사막여우
개발하는 사막여우
전체 방문자
오늘
어제
  • All (310)
    • Books (13)
      • 읽기 좋은 코드가 좋은 코드다 (13)
    • Study (6)
      • Blockchain (3)
      • Algorithm (3)
    • Baekjoon (36)
    • Programmers (166)
    • LeetCode (15)
    • Open Source (1)
      • Youtube Popout Player (1)
    • Language (32)
      • Python (9)
      • JS (8)
      • Java (5)
      • HTML (6)
      • CSS (4)
    • Library & Framework (15)
      • React.js (15)
    • IDE (2)
      • IntelliJ (2)
    • Airdrop (9)
    • Tistory (2)
    • etc.. (12)
      • Cozubi (6)
      • lol-chess (0)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • 카카오 코딩테스트
  • 읽기 좋은 코드가 좋은 코드다
  • Java
  • 코주비
  • 프로그래머스 위클리 챌린지
  • 코딩테스트연습
  • programmers
  • 클린 코드
  • Python
  • 카카오 알고리즘 문제
  • 백준
  • 프로그래머스
  • 카카오 공채
  • 코인줍줍
  • 신규 코인 에어드랍
  • 2018 KAKAO BLIND RECRUITMENT
  • 파이썬
  • 클린 코드 작성법
  • Cozubi
  • 알고리즘문제풀이

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
개발하는 사막여우

개발하는 사막여우

[Python] 파이썬 배열 원소 세는 방법  count() / collections.Counter()
Language/Python

[Python] 파이썬 배열 원소 세는 방법 count() / collections.Counter()

2020. 12. 27. 11:03
반응형

TITLE

👀 배열 원소 수 세는 방법 ( count() / collections.Counter() ) 👀
1.list.count(x) : 배열 내 주어진 원소 x의 갯수를 셉니다. x가 포함된 원소가 아닌, x 자체만 셈. 문자열 가능
2.collections.Counter(배열, 문자열)  : 배열, 문자열 내 모든 원소의 갯수 셈. x가 포함된 원소가 아닌, x 자체만 셈. 딕셔너리도 가능. 

파이썬에서 배열 내원소의 갯수를 세는 방법으로는 다음과 같이 2개의 방법이 존재합니다.

collections 모듈의 Counter() 클래스와, 리스트 자체의 count() 함수가 있습니다.

 

1. count() -> list.count(x)

  • 배열 내에서 어떤 원소 x가 등장하는 횟수를 반환함.
  • x가 포함된 원소가 아닌 x 본연의 원소의 숫자만을 셈.
array = ['a', 'b', 'c', 'ae', 'ba', 'dab']
cnt = array.count('a')
print('배열 내 a의 등장 횟수 :', cnt)
# > 배열 a의 등장 횟수 : 1

 

  • 문자열(String)에도 적용 가능. 
string = 'abacaca'
cnt = string.count('a')
print('문자열 내 a의 등장 횟수 :', cnt)
# > 문자열 a의 등장 횟수 : 4

 

2. collections.Counter() -> counter = Counter(변수)

  • count와 마찬가지로 배열, 문자열, 둘다 사용 가능
  • 어떤 값 x 하나가 아닌 내 모든 단일 값의 갯수를 세어줌.
from collections import Counter

cnt = Counter(['a', 'b', 'c', 'ae', 'ba', 'dab'])
print('배열 내 각 원소를 세는 카운터 :', cnt)
# > 배열 내 각 원소의 갯수 : Counter({'a': 1, 'b': 1, 'c': 1, 'ae': 1, 'ba': 1, 'dab': 1})

cnt = Counter('Abracadabra!')
print('문자열 내 각 원소를 세는 카운터 :', cnt)
# 문자열 내 각 원소를 세는 카운터 : Counter({'a': 4, 'b': 2, 'r': 2, 'A': 1, 'c': 1, 'd': 1, '!': 1})

 

  • 원소별 접근 방법: cnt['x']
cnt = Counter('Abracadabra!')
print('a 의 갯수는 :', cnt['a'])
# > a 의 갯수는 : 4

 

  • 최다 빈도 원소 내림차순으로 n개 확인 가능: most_common(n)
cnt = Counter('Abracadabra!')
print('가장 많이 있는 원소 차례대로 3개 뽑기 :', cnt.most_common(3))
# > 가장 많이 있는 원소 차례대로 3개 뽑기 : [('a', 4), ('b', 2), ('r', 2)]
print('가장 빈도수가 높은 원소는?! :', cnt.most_common(1))
# > 가장 빈도수가 높은 원소는?! : [('a', 4)]

 

  • dictionary에도 사용가능.
cnt = Counter({'hi': 3, 'im': 4, 'dev': 9, 'fennec': 101})
print('문자열 내 각 원소를 세는 카운터 :', cnt)
# > 문자열 내 각 원소를 세는 카운터 : Counter({'fennec': 101, 'dev': 9, 'im': 4, 'hi': 3})

 


count() 함수는 배열에 대해 특정 원소의 갯수만을 추출할 때 사용한다고 보면 되고, collections.Counter()는 모든 원소의 갯수를 셀 때 도움이 됩니다. 목적에 따라 다르게 사용하면 될 것 같습니다.😊 (다만 collections.Counter()는 더욱 다양한 함수들이 있으니, 잘 확인하고 사용하면 많은 도움이 될 것 같습니다.)

 

 

 

 

 

<참고>

docs.python.org/ko/3/library/array.html?highlight=count#array.array.count

docs.python.org/ko/3/library/collections.html?highlight=collections#collections.Counter

 

반응형

'Language > Python' 카테고리의 다른 글

[Python] upper(), lower() 함수 / 파이썬 문자열 대문자 소문자 변환  (0) 2021.01.12
[Python] islower(), isupper() 함수 / 파이썬 문자열 대문자 소문자 체크  (0) 2021.01.12
[Python] isalpha(), isdigit() 함수 / 문자열 체크하기  (0) 2021.01.12
[Python] 리스트/배열 역순 정렬 ( reverse() / reversed() )  (0) 2020.12.24
[Python] 리스트/배열 정렬 함수 ( sort() / sorted() )  (0) 2020.12.24
    'Language/Python' 카테고리의 다른 글
    • [Python] islower(), isupper() 함수 / 파이썬 문자열 대문자 소문자 체크
    • [Python] isalpha(), isdigit() 함수 / 문자열 체크하기
    • [Python] 리스트/배열 역순 정렬 ( reverse() / reversed() )
    • [Python] 리스트/배열 정렬 함수 ( sort() / sorted() )
    개발하는 사막여우
    개발하는 사막여우
    개발개발 주저리주저리

    티스토리툴바