Obtention de la fréquence des éléments dans une liste non ordonnée
Considérons une liste non ordonnée telle que a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]. L'objectif est de déterminer la fréquence de chaque valeur unique dans la liste. Le résultat souhaité est similaire à b = [4, 4, 2, 1, 2], indiquant que la valeur 1 apparaît quatre fois, 2 apparaît quatre fois, 3 apparaît deux fois, 4 apparaît une fois et 5 apparaît deux fois.
En Python, une solution pratique pour cette tâche consiste à utiliser la classe collections.Counter. Dans Python 2.7 et versions ultérieures, cette classe simplifie le processus de comptage des occurrences d'éléments dans une collection non ordonnée :
import collections a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2] counter = collections.Counter(a)
L'objet collections.Counter, compteur, contient le nombre de chaque valeur unique dans la liste a . Vous pouvez accéder aux décomptes en utilisant différentes méthodes :
Pour obtenir les counts dans l'ordre spécifié dans à la question, vous pouvez parcourir les clés dans l'ordre trié :
[counter[x] for x in sorted(counter.keys())]
Si vous utilisez Python 2.6 ou une version antérieure, vous pouvez télécharger une implémentation de collections.Counter à partir du lien fourni et utilisez-le dans votre code.
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!