Python/이것저것 파이썬
[파이썬] count, Counter with dictionary
컴닥
2022. 8. 30. 07:31
반응형
list.count()
# list.count() 메서드를 이용.
some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']
duplicates = set()
for each in set(some_list):
if some_list.count(each) > 1:
duplicates.add(each)
print(duplicates)
# 컴프리헨션으로 정리
duplicates = set(each for each in set(some_list) if some_list.count(each) > 1)
print(duplicates)
dictionary
# 딕셔너리를 이용.
some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']
counter = {}
for each in some_list:
counter.setdefault(each, 0)
counter[each] += 1
duplicates = set()
for key, value in counter.items():
if value > 1:
duplicates.add(key)
print(duplicates)
조금 더 단순하게...
some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']
counter = {}
duplicates = set()
for each in some_list:
counter.setdefault(each, 0)
counter[each] += 1
if counter[each] > 1:
duplicates.add(each)
print(duplicates)
collections.Counter()
# collections 패키지의 Counter와 컴프리헨션으로 정리.
from collections import Counter
some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']
counter = Counter(some_list)
duplicates = set(k for k, v in Counter(some_list).items() if v > 1)
print(duplicates)
반응형