Home > Backend Development > Python Tutorial > How to Count and Sort Words by Frequency in a List in Python

How to Count and Sort Words by Frequency in a List in Python

Barbara Streisand
Release: 2024-10-21 21:38:31
Original
886 people have browsed it

How to Count and Sort Words by Frequency in a List in Python

Counting and Sorting Words by Frequency in a List

This task involves creating a data structure that effectively represents the frequency of words in a given list. One straightforward approach involves two lists: one for unique words and another for corresponding frequencies. To sort the words based on frequency, we need to leverage the information stored in the frequency list.

Python Implementation Using Counter

To implement this in Python without using advanced constructs like dictionaries, we can harness the Counter class from the collections module. This class conveniently keeps track of word frequencies, providing a straightforward solution.

The code snippet below demonstrates how to utilize the Counter class:

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

list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple']
counts = Counter(list1)</code>
Copy after login

This code creates a Counter object called counts that contains word frequencies. The print(counts) statement outputs the following:

Counter({'apple': 3, 'egg': 2, 'banana': 1})
Copy after login

By default, the Counter class sorts the words alphabetically. However, we can customize the sorting behavior by providing a key function as an argument to the most_common() method. For instance, to sort the words based on frequency in descending order:

<code class="python">sorted_words = sorted(counts, key=lambda x: x[1], reverse=True)</code>
Copy after login

In summary, the Counter class provides an efficient way to count and sort words based on frequency, without the need for complex data structures like dictionaries.

The above is the detailed content of How to Count and Sort Words by Frequency in a List in Python. 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