python) counter
2021. 8. 8. 22:19ㆍpython
반응형
https://ek-koh.github.io/python/counter/
데이터 카운팅할때 사용.
from collections import Counter
str = 'aaabbc'
Counter(str) // Counter({'a':3, 'b':2, 'c':1})
arr = [1,2,4,4]
Counter(arr) // Counter({1:1, 2:1, 4:2})
- clear() : 카운터 객체에서 모든 key-value 쌍을 제거
- copy() : 카운터 객체의 복사본을 반환
- elements() : 카운터 숫자만큼 요소 반환
- 리스트를 가지고 카운터 객체를 만들었다면, 다시 리스트로 돌린다고 생각하면 쉽다. 물론 순서는 바뀐다. list(c2.elements())와 같이 사용.
- get() : 인자로 key를 입력하면 해당 key와 매칭되는 value를 반환
- items() : key, value 쌍을 튜플 형태로 반환
- keys() : 카운터 객체의 key들을 반환
- most_common() : 가장 빈도수가 높은 key, value 쌍부터 튜플 형태로 반환. 인자로 숫자(개수)를 전달하면 가장 빈도수가 높은 것부터 해당 개수만큼의 쌍만이 반환됨
- pop(), popitem()
- pop() : 인자로 key를 반드시 전달해야 하며, key와 매칭되는 value를 반환하고 해당 key, value 쌍을 카운터 객체에서 제거
- popitem() : 전달하는 인자가 없어야 하며, 가장 뒤의 key, value 쌍을 튜플 형태로 반환하고 해당 쌍을 카운터 객체에서 제거
- setdefault() : 카운터 객체에 key, value 쌍을 추가할 때 사용할 수 있음
- key만 전달하면 카운트 수는 디폴트로 None
- key와 함께 default=10과 같이 전달하면 key에 해당하는 카운트에 입력한 숫자가 반영됨
- subtract() : iterable을 전달하면 각 요소의 값을 각각 빼주고 그 결과의 카운트는 마이너스 값을 가질 수도 있음
- update() : iterable을 전달하여 같은 값이 있으면 카운트가 추가되게 하고 없으면 새로운 key, value 쌍을 생성
- values() : 카운터 객체의 value, 즉 카운트들을 반환
c3 = Counter({'a': 3, 'b': 5, 'c': 1, 'd': 4})
c4 = Counter({'a': 1, 'b': 2, 'c': 8, 'e': 4})
c3 + c4 # Counter({'a': 4, 'b': 7, 'c': 9, 'd': 4, 'e': 4})
c3 - c4 # Counter({'a': 2, 'b': 3, 'd': 4})
c3 & c4 # Counter({'a': 1, 'b': 2, 'c': 1})
c3 | c4 # Counter({'a': 3, 'b': 5, 'c': 8, 'd': 4, 'e': 4})
c3.subtract(['a', 'a', 'a', 'a', 'a'])
c3 # Counter({'a': -2, 'b': 5, 'c': 1, 'd': 4})
+c3 # Counter({'b': 5, 'c': 1, 'd': 4})
-c3 # Counter({'a': 2})
반응형
'python' 카테고리의 다른 글
python) bisect (0) | 2021.08.08 |
---|---|
python) list, 튜플, 딕셔너리, set (0) | 2021.08.08 |
python) 연산자 (0) | 2021.08.08 |
python) itertools (0) | 2021.08.08 |