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

Susan Sarandon
Release: 2024-10-21 21:37:02
Original
492 people have browsed it

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>
Copy after login

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>
Copy after login

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!

source:php
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!