Python 에서 collections.counter()의 구체 적 인 사용

카운터 클래스
Counter 클래스 의 목적 은 값 이 나타 나 는 횟수 를 추적 하 는 것 입 니 다.이것 은 무질서 한 용기 형식 으로 사전 의 키 값 으로 저 장 됩 니 다.그 중에서 요 소 는 key 이 고 그 수 는 value 입 니 다.계산 치 는 임의의 Interger(0 과 마이너스 포함)일 수 있다.Counter 류 는 다른 언어의 bags 나 multisets 와 비슷 합 니 다.
창설
Counter 는 하나의 용기 대상 으로 산열 대상 을 통계 하 는 데 사용 되 며 세 가지 방식 으로 초기 화 할 수 있다.
  • 매개 변수 안의 매개 변 수 는 대상 Counter("success")를 교체 할 수 있 습 니 다
  • 키워드 파라미터 Counter((s=3,c=2,e=1,u=1)를 입력 합 니 다
  • Counter({"s":3,"c"=2,"e"=1,"u"=1})다음 코드 는 Counter 클래스 를 만 드 는 방법 을 설명 합 니 다.
    
    >>> c = Counter()  #       Counter 
    >>> c = Counter('gallahad')  #     iterable  (list、tuple、dict、    )  
    >>> c = Counter({'a': 4, 'b': 2})  #          
    >>> c = Counter(a=4, b=2)  #         
    계수 값 의 접근 과 부족 한 키
    방문 한 키 가 존재 하지 않 을 때 키 오류 가 아 닌 0 으로 돌아 갑 니 다.그렇지 않 으 면 그것 의 계산 을 되 돌려 준다.
    
    >>> c = Counter("abcdefgab")
    >>> c["a"]
    > 2
    >>> c["c"]
    > 1
    >>> c["h"]
    > 0
    
    
    카운터 업데이트
    키 값 을 업데이트 하기 위해 iterable 대상 이나 다른 Counter 대상 을 사용 할 수 있 습 니 다.
    계수기 의 업 데 이 트 는 증가 와 감소 두 가 지 를 포함한다.
    update()방법 추가:
    
    >>> c = Counter('which')
    >>> c.update('witch')  #      iterable    
    >>> c['h']
    > 2
    >>> d = Counter('watch')
    >>> c.update(d)  #      Counter    
    >>> c['h']
    > 3
    
    줄 이면 subtract()방법 사용:
    
    >>> c = Counter('which')
    >>> c.subtract('witch')  #      iterable    
    >>> c['h']
    > 1
    >>> d = Counter('watch')
    >>> c.subtract(d)  #      Counter    
    >>> c['a']
    > -1
    
    키 삭제
    계산 수치 가 0 일 때 요소 가 삭제 되 는 것 을 의미 하지 않 으 며,삭제 요 소 는 del 을 사용 해 야 합 니 다.
    
    >>> c = Counter("abcdcba")
    >>> c
    Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1})
    >>> c["b"] = 0
    >>> c
    Counter({'a': 2, 'c': 2, 'd': 1, 'b': 0})
    >>> del c["a"]
    >>> c
    Counter({'c': 2, 'b': 2, 'd': 1})
    elements()
    교체 기 를 되 돌려 줍 니 다.
    요소 가 몇 번 반복 되 었 는 지,이 교체 기 에는 이 요소 가 몇 개 포함 되 어 있 습 니 다.요소 배열 에 정확 한 순서 가 없 으 며,개수 가 1 보다 작은 요 소 는 포함 되 지 않 습 니 다.
    
    >>> c = Counter(a=4, b=2, c=0, d=-2)
    >>> list(c.elements())
    ['a', 'a', 'a', 'a', 'b', 'b']
    
    most_common([n])
    TopN 목록 을 되 돌려 줍 니 다.n 이 지정 되 지 않 으 면 모든 요 소 를 되 돌려 줍 니 다.여러 원소 의 계수 값 이 같 을 때 배열 은 순서 가 정 해 지지 않 는 다.
    
    >>> c = Counter('abracadabra')
    >>> c.most_common()
    [('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)]
    >>> c.most_common(3)
    [('a', 5), ('r', 2), ('b', 2)]
    
    fromkeys
    실현 되 지 않 은 방법.
    얕 은 복사 본
    
    >>> c = Counter("abcdcba")
    >>> c
    Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1})
    >>> d = c.copy()
    >>> d
    Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1})
    
    산술 과 집합 조작
    +,-,&,|조작 도 Counter 에 사용 할 수 있 습 니 다.그 중에서&와|작업 은 각각 두 개의 Counter 대상 요소 의 최소 값 과 최대 값 을 되 돌려 줍 니 다.주의해 야 할 것 은 얻 은 Counter 대상 이 1 보다 작은 요 소 를 삭제 한 다 는 것 이다.
    
    >>> c = Counter(a=3, b=1)
    >>> d = Counter(a=1, b=2)
    >>> c + d  # c[x] + d[x]
    Counter({'a': 4, 'b': 3})
    >>> c - d  # subtract(          )
    Counter({'a': 2})
    >>> c & d  #   :  min(c[x], d[x])
    Counter({'a': 1, 'b': 1})
    >>> c | d  #   :  max(c[x], d[x])
    Counter({'a': 3, 'b': 2})
     
    
    상용 조작
    다음은 파 이 썬 공식 문서 에서 유래 한 카운터 클래스 의 일반적인 동작 입 니 다.
    
    sum(c.values())  #        
    c.clear()  #   Counter  ,      
    list(c)  #  c       
    set(c)  #  c     set
    dict(c)  #  c         
    c.items()  #   (elem, cnt)     
    Counter(dict(list_of_pairs))  #  (elem, cnt)        Counter   
    c.most_common()[:-n:-1]  #        n   
    c += Counter()  #   0   
    
    파 이 썬 의 collections.counter()에 대한 구체 적 인 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 collections.counter()내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기