"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso contar ocorrências de itens com eficiência em Python?

Como posso contar ocorrências de itens com eficiência em Python?

Publicado em 2024-11-07
Navegar:885

How Can I Efficiently Count Item Occurrences in Python?

Contagem de frequência de itens em Python com eficiência aprimorada

Contar a ocorrência de itens em uma lista é uma tarefa comum de programação. Esta questão explora uma abordagem mais eficiente para este problema em Python.

O código inicial apresentado, embora funcional, envolve iterar pela lista duas vezes, levando a um desempenho abaixo do ideal. O principal desafio está em encontrar uma maneira Pythonic de contar ocorrências de itens sem passagens redundantes pela lista.

A solução está na utilização da classe Counter do módulo de coleções. Projetado especificamente para contagem de frequência, o Counter oferece uma maneira concisa e eficiente de alcançar o resultado desejado. O código a seguir demonstra seu uso:

from collections import Counter

words = "apple banana apple strawberry banana lemon"
Counter(words.split())

Este trecho de código divide a string de entrada em palavras individuais e passa a lista resultante para Counter. O resultado é um objeto semelhante a um dicionário onde as chaves representam palavras únicas e os valores representam suas contagens correspondentes. Neste exemplo, a saída seria:

Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})

A classe Counter emprega internamente uma tabela hash para armazenar dados, fornecendo operações de pesquisa e inserção em tempo constante. Essa abordagem elimina a necessidade de uma segunda iteração e melhora significativamente o desempenho da contagem de frequência do item.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3