# Python Counter methods

There are some important methods available with Python Counter, here is the list of the same:

• elements(): returns all the elements with a count >0. Elements with 0 or -1 count will not be returned.
• most_common(value): returns the most common elements from the Counter list.
• subtract(): used to deduct the elements from another Counter.
• update(): used to update the elements from another Counter.

## Python Counter methods

Simple example code of commonly used methods in Counter.

elements() method – This method returns the count of elements that are greater than 0. The elements with 0 or -1 will be completely omitted.

``````from collections import Counter

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

_elements = counter1.elements()
for a in _elements:
print(a)
``````

Output:

most_common(value) – It returns the most common elements from the Counter list.

``````from collections import Counter

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

res1 = C1.most_common(2)
print(res1)

res2 = C1.most_common()
print(res2)
``````

Output:

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

subtract() method – It returns the new Counter object after performing subtraction. Let’s understand the following example.

``````from collections import Counter

c1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1': 0})
c2 = Counter({'x': 2, 'y': 5})

c1.subtract(c2)
print(c1)``````

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

update()

``````from collections import Counter

c1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1': 0})
c2 = Counter({'x': 2, 'y': 5})

c1.update(c2)
print(c1)
``````

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

Let’s say we have a piece of text, and we want to analyze the frequency of each word, update the counts with another piece of text, and perform various operations.

``````from collections import Counter

# Initial text
text1 = "this is a sample text with several words this is a test"

# Create a Counter from the first text
counter1 = Counter(text1.split())
print("Initial Counter:", counter1)

# Add counts from another text
text2 = "this is another sample text with some different words"
counter1.update(text2.split())
print("Updated Counter with new text:", counter1)

# Most common words
most_common_words = counter1.most_common(3)
print("Most common words:", most_common_words)

# Subtract counts using another Counter
subtract_text = "this is a sample text"
counter1.subtract(Counter(subtract_text.split()))
print("Counter after subtraction:", counter1)

# Elements in the Counter
elements = list(counter1.elements())
print("All elements in the Counter:", elements)

# Copy the Counter
counter_copy = counter1.copy()
print("Copy of the Counter:", counter_copy)

# Clear the Counter
counter1.clear()
print("Counter after clearing:", counter1)

# Re-create and demonstrate arithmetic operations
counter1 = Counter(text1.split())
counter2 = Counter(text2.split())

# Subtraction of Counters
subtraction = counter1 - counter2
print("Subtraction of two Counters:", subtraction)

# Intersection of Counters
intersection = counter1 & counter2
print("Intersection of two Counters:", intersection)

# Union of Counters
union = counter1 | counter2
print("Union of two Counters:", union)``````

This example covers various methods and operations you can perform with the `Counter` class, providing a comprehensive overview in a real-world context.

Do comment if you have any doubts or suggestions on this Python countertop.

Note: IDE: PyCharm 2021.3.3 (Community Edition)

Windows 10

Python 3.10.1

All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.