Home >Backend Development >Python Tutorial >How to Count and Sort Word Frequencies in Python Using Counter?

How to Count and Sort Word Frequencies in Python Using Counter?

Susan Sarandon
Susan SarandonOriginal
2024-10-21 21:37:02612browse

How to Count and Sort Word Frequencies in Python Using Counter?

Counting and Sorting Word Frequencies in a List

In a recent project, you encountered a problem where you needed to count the occurrences of words in a list and sort them by frequency, with the most frequently appearing word at the beginning of the list. While you had a basic idea of the solution, you were unsure how to implement it in Python 3.3 effectively.

Fortunately, Python's collections.Counter class provides a simple and efficient solution to this problem. Here's an example:

<code class="python">from collections import Counter

# Create a list of words
list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple']

# Use Counter to count word occurrences
counts = Counter(list1)

# Print the counts
print(counts)  # Counter({'apple': 3, 'egg': 2, 'banana': 1})</code>

In this example, Counter creates a dictionary-like object where the keys are words, and the values are their counts. The print statement outputs the counts for each unique word.

To sort the words based on frequency, you can use the most_common() method of Counter. This method returns a list of tuples, where each tuple contains a word and its count. By default, the list is sorted in descending order of frequency, meaning the most frequent word will be at the beginning.

Here's how you can sort the list of words:

<code class="python"># Sort the words based on frequency
sorted_words = [word for word, count in sorted(counts.most_common(), key=lambda x: x[1], reverse=True)]

# Print the sorted list
print(sorted_words)  # ['apple', 'egg', 'banana']</code>

In this code, sorted sorts the list of tuples by the second element (count) in descending order using the reverse=True argument. This ensures that the most frequent word comes first in the sorted_words list.

The above is the detailed content of How to Count and Sort Word Frequencies in Python Using Counter?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn