Python List 배열 요소 중복 횟수 구하는 방법 (count duplicates in list)
Python 에서 배열안에 요소들의 중복되는 횟수를 구하는 방법을 알려드리도록 하겠습니다.
목차
- List 안에 모든 요소들의 중복 횟수 구하는 방법
- collections 모듈의 Counter 사용하는 방법
- for, try-except 사용하는 방법
- for, in 사용하는 방법
- List 안에 특정 요소의 중복 횟수 구하는 방법
- List.count() 사용하는 방법
- 모든 요소들의 중복되는 횟수를 담은 dict에서 찾는 방법
List 안에 모든 요소들의 중복 횟수 구하는 방법
1. collections 모듈의 Counter 사용하는 방법
from collections import Counter
array = ["F", "D", "A", "C", "A", "C", "F", "B", "C", "E", "C", "C", "F", "A", "B", "E", "F", "E"]
counter = Counter(array)
print(array)
print(counter)
print(dict(counter))
# Output
# ['F', 'D', 'A', 'C', 'A', 'C', 'F', 'B', 'C', 'E', 'C', 'C', 'F', 'A', 'B', 'E', 'F', 'E']
# Counter({'C': 5, 'F': 4, 'A': 3, 'E': 3, 'B': 2, 'D': 1})
# {'F': 4, 'D': 1, 'A': 3, 'C': 5, 'B': 2, 'E': 3}
collections 모듈에 있는 Counter 를 사용하면 아주 쉽게 List 안에 모든 요소들의 중복되는 횟수를 셀 수 있습니다.
Counter 객체를 dict() 를 사용하여 dict 형식으로 변환하여 사용하실 수도 있습니다.
2. for, try-except 사용하는 방법
array = ["F", "D", "A", "C", "A", "C", "F", "B", "C", "E", "C", "C", "F", "A", "B", "E", "F", "E"]
counter = {}
for value in array:
try: counter[value] += 1
except: counter[value ] = 1
print(array)
print(counter)
# Output
# ['F', 'D', 'A', 'C', 'A', 'C', 'F', 'B', 'C', 'E', 'C', 'C', 'F', 'A', 'B', 'E', 'F', 'E']
# {'F': 4, 'D': 1, 'A': 3, 'C': 5, 'B': 2, 'E': 3}
for 와 try-except 를 사용하여 List 안에 모든 요소들의 중복되는 횟수를 셀 수 있습니다.
간단히 방식을 설명드리자면 요소의 갯수를 셀 dictionary 형의 counter 를 하나 만들고,
List를 for 문을 사용하여 돌면서 counter에 이미 해당 현재 값에 해당하는 요소가 있으면 갯수를 증가하고,
없으면 해당 요소의 갯수가 1이라고 만들어주는 방식입니다.
3. for, in 사용하는 방법
array = ["F", "D", "A", "C", "A", "C", "F", "B", "C", "E", "C", "C", "F", "A", "B", "E", "F", "E"]
counter = {}
for value in array:
if value in counter:
counter[value] += 1
else:
counter[value] = 1
print(array)
print(counter)
# Output
# ['F', 'D', 'A', 'C', 'A', 'C', 'F', 'B', 'C', 'E', 'C', 'C', 'F', 'A', 'B', 'E', 'F', 'E']
# {'F': 4, 'D': 1, 'A': 3, 'C': 5, 'B': 2, 'E': 3}
같은 방식으로 try-except 가 아닌, if in 을 사용하여 counter 안에 현재 값에 해당하는 요소가 있는지 판별하는 방법으로도
List 안에 모든 요소들의 중복되는 횟수를 셀 수 있습니다.
List 안에 특정 요소의 중복 횟수 구하는 방법
1. List.count() 사용하는 방법
array = ["F", "D", "A", "C", "A", "C", "F", "B", "C", "E", "C", "C", "F", "A", "B", "E", "F", "E"]
print(array)
print("요소 'C' 갯수 : ", array.count("C"))
# Output
# ['F', 'D', 'A', 'C', 'A', 'C', 'F', 'B', 'C', 'E', 'C', 'C', 'F', 'A', 'B', 'E', 'F', 'E']
# 요소 'C' 갯수 : 5
List 형에 count() 를 사용하여 간단하게 List 안에 특정 요소의 중복 횟수를 구할 수 있습니다.
2. 모든 요소들의 중복되는 횟수를 담은 dict에서 찾는 방법
array = ["F", "D", "A", "C", "A", "C", "F", "B", "C", "E", "C", "C", "F", "A", "B", "E", "F", "E"]
counter = {}
for value in array:
try: counter[value] += 1
except: counter[value ] = 1
print(array)
print("요소 'C' 갯수 : ", counter["C"])
# Output
# ['F', 'D', 'A', 'C', 'A', 'C', 'F', 'B', 'C', 'E', 'C', 'C', 'F', 'A', 'B', 'E', 'F', 'E']
# 요소 'C' 갯수 : 5
앞서 설명드렸던 collections 모듈의 counter, for try-except, for in 등을 사용하여
List 안에 모든 요소들의 중복되는 횟수를 구해둔 변수에서,
원하는 요소의 값을 찾으면 List 안에 특정 요소의 중복 횟수를 구할 수 있습니다.
이상으로 Python 에서 배열안에 요소들의 중복되는 횟수를 구하는 방법에 대한 설명을 마치도록 하겠습니다.
관련 정보
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
'Developer > Python' 카테고리의 다른 글
Python JSON을 Dictionary로, Dictionary를 JSON으로 변환 방법 (json to dict / dict to json) (0) | 2022.01.02 |
---|---|
Python URL Encode, Decode 하는 방법 (0) | 2022.01.01 |
Python 문자열을 날짜, 시간으로 변환하는 방법 (string to date, string to time) - strptime (0) | 2021.12.30 |
Python 날짜, 시간을 문자열로 변환하는 방법 (date to string, time to string) - strftime (0) | 2021.12.29 |
Python 현재 날짜, 현재 시간 구하는 2가지 방법 (datetime, time) (0) | 2021.12.28 |
댓글