Maison > développement back-end > Tutoriel Python > Comment puis-je compter efficacement les fréquences des éléments dans une liste non ordonnée ?

Comment puis-je compter efficacement les fréquences des éléments dans une liste non ordonnée ?

Susan Sarandon
Libérer: 2024-12-25 15:45:18
original
690 Les gens l'ont consulté

How Can I Efficiently Count Element Frequencies in an Unordered List?

Comptage de la fréquence des éléments dans des listes non ordonnées

Ce dilemme de programmation cherche une solution pour compter la fréquence des éléments dans une liste non ordonnée. Étant donné une liste de valeurs, l'objectif est de déterminer le nombre de chaque élément distinct qui apparaît dans la liste.

Implémentation de Python à l'aide de Collections.Counter

Pour les versions Python 2.7 et versions ultérieures, une méthode pratique pour compter les fréquences des éléments consiste à utiliser la classe collections.Counter. Voici comment vous pouvez utiliser Counter pour résoudre le problème :

import collections

a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]
counter = collections.Counter(a)

# Extract the frequencies in the desired order
frequencies = [counter[x] for x in sorted(counter.keys())]
Copier après la connexion

Cette approche donne une liste de fréquences [4, 4, 2, 1, 2], correspondant au nombre de chaque élément unique dans l'original. liste (a), à savoir 4 instances de 1, 4 de 2, 2 de 3, 1 de 4 et 2 de 5.

Considérations pour les versions Python antérieures à 2.7

Si vous utilisez Python 2.6 ou une version antérieure, le téléchargement d'une implémentation externe de Counter est une voie alternative. De telles implémentations sont facilement disponibles en ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal