Python 예제가 포함된 컬렉션의 카운터

Python 계수기?

Python 카운터는 컨테이너에 있는 각 요소의 개수를 보관하는 컨테이너입니다. 카운터는 사전 클래스 내에서 사용할 수 있는 하위 클래스입니다.

카운터는 사전 클래스 내에서 사용할 수 있는 하위 클래스입니다. 사용하여 Python 카운터 도구를 사용하면 해시 테이블 개체라고도 하는 개체의 키-값 쌍을 계산할 수 있습니다.

왜 사용 Python 계수기?

다음은 사용하는 주요 이유입니다. Python 3 카운터:

  • Counter는 해시테이블 객체처럼 정렬되지 않은 컬렉션에 데이터를 보관합니다. 여기의 요소는 키와 개수를 값으로 나타냅니다.
  • 반복 가능한 목록의 항목 수를 계산할 수 있습니다.
  • 덧셈, 뺄셈, 교집합, 합집합과 같은 산술 연산은 카운터에서 쉽게 수행할 수 있습니다.
  • 카운터는 다른 카운터의 요소를 계산할 수도 있습니다.

장점 소개 Python 계수기

Python Counter는 모두 반복 가능한 객체인 목록, 튜플, 사전, 문자열을 입력으로 받아 각 요소의 개수를 포함하는 출력을 제공합니다.

구문 :

Counter(list)

다음 목록이 있다고 가정해 보겠습니다.

list1 = ['x','y','z','x','x','x','y', 'z']

목록에는 x, y 및 z 요소가 있습니다. 이 목록에서 Counter를 사용하면 x, y 및 z가 몇 번이나 존재하는지 계산됩니다. list1에서 counter를 사용하는 경우의 출력은 다음과 같아야 합니다.

Counter({'x': 4, 'y': 2, 'z': 2})

따라서 x의 개수는 4, y의 개수는 2, z의 개수는 2입니다.

Counter를 사용하려면 아래 예제와 같이 먼저 Counter를 가져와야 합니다.

from collections import Counter

다음은 카운터 모듈의 작동을 보여주는 간단한 예입니다.

from collections import Counter
list1 = ['x','y','z','x','x','x','y', 'z']
print(Counter(list1))

출력:

Counter({'x': 4, 'y': 2, 'z': 2})

문자열이 포함된 카운터

In Python, 모든 것이 객체이고 문자열도 객체입니다. Python 현 큰따옴표로 문자를 묶으면 간단히 만들 수 있습니다. Python 문자 유형을 지원하지 않습니다. 이는 길이가 1인 문자열로 처리되며 하위 문자열로도 간주됩니다.

아래 예에서는 문자열이 Counter에 전달됩니다. 키가 요소이고 값이 개수인 키/값 쌍이 있는 사전 형식을 반환합니다. 또한 공백을 요소로 간주하고 문자열의 공백 수를 제공합니다.

예:

from collections import Counter
my_str = "Welcome to Guru99 Tutorials!"
print(Counter(my_str))

출력:

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,
 'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

목록이 있는 카운터

리스트는 대괄호 안에 요소를 담은 반복 가능한 객체입니다.

Counter에 제공될 때 목록의 요소는 해시 테이블 개체로 변환되며, 여기서 요소는 키가 되고 값은 주어진 목록의 요소 개수가 됩니다.

예를 들어 ['x','y','z','x','x','x','y','z']입니다. 목록에 Counter를 제공하면 목록에 있는 각 요소의 개수가 제공됩니다.

from collections import Counter
list1 = ['x','y','z','x','x','x','y','z']
print(Counter(list1))

출력:

Counter({'x': 4, 'y': 2, 'z': 2})

사전이 포함된 카운터

사전은 키/값 쌍의 요소를 가지며, 요소는 중괄호 안에 표시됩니다.

사전이 Counter에 제공되면 요소가 키가 되는 해시 테이블 개체로 변환되고 값은 제공된 사전의 요소 개수가 됩니다.

예: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Counter 함수는 주어진 사전에 있는 각 키의 개수를 찾으려고 시도합니다.

from collections import Counter
dict1 =  {'x': 4, 'y': 2, 'z': 2, 'z': 2}
print(Counter(dict1))

출력:

Counter({'x': 4, 'y': 2, 'z': 2})

튜플을 사용한 카운터

튜플은 둥근 ​​괄호 안에 쉼표로 구분된 객체의 컬렉션입니다. 카운터는 주어진 튜플의 각 요소의 개수를 알려줍니다.

튜플이 Counter에 제공되면 요소가 키가 되고 값은 제공된 튜플의 요소 개수가 되는 해시 테이블 개체로 변환됩니다.

from collections import Counter
tuple1 = ('x','y','z','x','x','x','y','z')
print(Counter(tuple1))

출력:

Counter({'x': 4, 'y': 2, 'z': 2})

카운터 액세스, 초기화 및 업데이트

카운터 초기화 중

Counter는 아래와 같이 문자열 값, 목록, 사전 또는 튜플을 전달하여 초기화할 수 있습니다.

from collections import Counter
print(Counter("Welcome to Guru99 Tutorials!"))   #using string
print(Counter(['x','y','z','x','x','x','y', 'z'])) #using list
print(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionary
print(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple

아래와 같이 빈 카운터를 초기화할 수도 있습니다.

from collections import Counter
_count = Counter()

카운터 업데이트 중

update() 메소드를 사용하여 Counter에 값을 추가할 수 있습니다.

_count.update('Welcome to Guru99 Tutorials!')

최종 코드는 다음과 같습니다

from collections import Counter
_count = Counter()
_count.update('Welcome to Guru99 Tutorials!')
print(_count)

출력은 다음과 같습니다.

Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,
 'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})

카운터 접근

카운터에서 값을 얻으려면 다음과 같이 할 수 있습니다.

from collections import Counter

_count = Counter()
_count.update('Welcome to Guru99 Tutorials!')
print('%s : %d' % ('u', _count['u']))
print('\n')
for char in 'Guru':
    print('%s : %d' % (char, _count[char]))

출력:

u : 3

G : 1
u : 3
r : 2
u : 3

카운터에서 요소 삭제

Counter에서 요소를 삭제하려면 아래 예와 같이 del을 사용할 수 있습니다.

예:

from collections import Counter
dict1 =  {'x': 4, 'y': 2, 'z': 2}
del dict1["x"]
print(Counter(dict1))

출력:

Counter({'y': 2, 'z': 2})

산술 연산 Python 계수기

아래 예와 같이 덧셈, 뺄셈, 교집합, 합집합과 같은 산술 연산을 카운터에서 수행할 수 있습니다.

예:

from collections import Counter
counter1 =  Counter({'x': 4, 'y': 2, 'z': -2})

counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })

#Addition
counter3 = counter1 + counter2 # only the values that are positive will be returned.

print(counter3)

#Subtraction
counter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the output

print(counter4)

#Intersection
counter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2

print(counter5)

#Union
counter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2

print(counter6)

출력:

Counter({'y': 7, 'x': 4, 'z': 2})
Counter({'x1': 12, 'x': 4})
Counter({'y': 2})
Counter({'y': 5, 'x': 4, 'z': 4})

사용 가능한 방법 Python 계수기

Counter에는 몇 가지 중요한 메소드를 사용할 수 있으며, 그 목록은 다음과 같습니다.

  • 집단() : 이 메서드는 개수가 0보다 큰 모든 요소를 ​​반환합니다. 개수가 0 또는 -1인 요소는 반환되지 않습니다.
  • 가장_공통(값): 이 방법은 카운터 목록에서 가장 일반적인 요소를 반환합니다.
  • 덜다(): 이 방법은 다른 카운터에서 요소를 공제하는 데 사용됩니다.
  • 업데이트(): 이 메소드는 다른 Counter의 요소를 업데이트하는 데 사용됩니다.

예 : 요소()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})

_elements = counter1.elements() # will give you all elements with positive value and count>0
for a in _elements:
    print(a)

출력:

x
x
x
x
x
y
y

예: Most_common(값)

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})

common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next.
print(common_element)

common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element.
print(common_element1)

출력:

 [('y', 12), ('x', 5)]
[('y', 12), ('x', 5), ('x1', 0), ('z', -2)]

예: 빼기()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})
counter2 = Counter({'x': 2, 'y':5})

counter1.subtract(counter2)
print(counter1)

출력:

Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})

예: 업데이트()

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})
counter2 = Counter({'x': 2, 'y':5})
counter1.update(counter2)
print(counter1)

출력:

Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})

개수 재할당 Python

아래와 같이 카운터 수를 다시 할당할 수 있습니다.

다음과 같은 사전이 있다고 가정해 보세요. {'x': 5, 'y': 12, 'z': -2, 'x1':0}

아래와 같이 요소 개수를 변경할 수 있습니다.

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})

counter1['y'] = 20

print(counter1)

출력: 실행 후 y 개수가 12에서 20으로 변경된 것을 볼 수 있습니다.

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Counter를 사용하여 요소 개수 가져오기 및 설정

Counter를 사용하여 요소 수를 얻으려면 다음과 같이 할 수 있습니다.

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})
print(counter1['y']) # this will give you the count of element 'y'

출력:

12

요소 수를 설정하려면 다음과 같이 할 수 있습니다.

from collections import Counter
counter1 =  Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})

print(counter1['y'])

counter1['y'] = 20
counter1['y1'] = 10

print(counter1)

출력:

12
Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})

제품 개요

  • 카운터는 컨테이너에 있는 각 요소의 개수를 보관하는 컨테이너입니다.
  • Counter는 Dictionary 클래스 내에서 사용 가능한 하위 클래스입니다.
  • 사용법 - Python 카운터 도구를 사용하면 해시테이블 개체라고도 하는 개체의 키-값 쌍을 계산할 수 있습니다.
  • Counter는 해시테이블 객체처럼 정렬되지 않은 컬렉션에 데이터를 보관합니다. 여기의 요소는 키와 개수를 값으로 나타냅니다.
  • 반복 가능한 목록의 항목 수를 계산할 수 있습니다.
  • 덧셈, 뺄셈, 교집합, 합집합과 같은 산술 연산은 카운터에서 쉽게 수행할 수 있습니다.
  • 카운터는 다른 카운터의 요소를 계산할 수도 있습니다.
  • Counter에서 사용할 수 있는 중요한 메소드는 elements(), Most_common(value), subtract() 및 update()입니다.
  • 카운터는 문자열, 목록, 사전 및 튜플에 사용할 수 있습니다.