À propos de l'utilité de la classe Python Counter - Vous n'avez plus à la compter vous-même -

Aperçu

Jusqu'à présent, afin de vérifier le nombre d'éléments inclus dans la liste, l'élément de liste était pivoté avec une instruction for, et la combinaison d'élément et de nombre était définie dans dict. Cependant, si vous utilisez la classe collections.Counter, vous pouvez la traiter en une seule ligne.

Jusqu'ici (sale avec dict)

    a = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
    b = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6]

    a_dict = dict()
    b_dict = dict()

    for item in a:
        if item in a_dict:
            a_dict[item] += 1
        else:
            a_dict[item] = 1

    for item in b:
        if item in b_dict:
            b_dict[item] += 1
        else:
            b_dict[item] = 1

    print(a_dict) #{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
    print(b_dict) #{1: 1, 2: 2, 3: 3, 4: 4, 6: 6}

Avec la classe Counter

    from collections import Counter

    a = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
    b = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6]

    a_counter = Counter(a)
    b_counter = Counter(b)
    print(a_counter) #Counter({5: 5, 4: 4, 3: 3, 2: 2, 1: 1})
    print(b_counter) #Counter({6: 6, 4: 4, 3: 3, 2: 2, 1: 1})

Dans la classe Counter, il est possible de calculer des ensembles de somme et de différence.


    from collections import Counter

    a = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
    b = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6]

    a_counter = Counter(a)
    b_counter = Counter(b)

    print(a_counter + b_counter) #Counter({4: 8, 3: 6, 6: 6, 5: 5, 2: 4, 1: 2})
    print(a_counter - b_counter) #Counter({5: 5})

Problèmes qui peuvent être facilement résolus en utilisant la classe Counter dans AtCoder

Recommended Posts

À propos de l'utilité de la classe Python Counter - Vous n'avez plus à la compter vous-même -
À propos des fonctionnalités de Python
Convertissez le résultat de python optparse en dict et utilisez-le
À propos de la liste de base des bases de Python
Je ne veux pas l'admettre ... Représentation dynamique du système de Neural Network
À propos de l'environnement virtuel de Python version 3.7
Le calcul d'une question d'examen d'entrée était difficile à penser, alors j'ai laissé ça à python après tout
Écrire une note sur la version python de python virtualenv
[Note] À propos du rôle du trait de soulignement "_" en Python
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
Ne prenez pas une instance d'une classe d'exception Python directement comme argument de la classe d'exception!
[Python] À propos de la création d'un outil pour afficher toutes les pages du site Web enregistrées dans le fichier JSON et où il a été pris
Le mur lors du passage du service Django de Python 2.7 à la série Python 3
Réfléchissez à la programmation de Python sur votre iPad
Modèle de script python pour lire le contenu du fichier
Comment obtenir le nombre de chiffres en Python
[python] option pour désactiver la sortie de click.progressbar
[Python] Résumé de la façon de spécifier la couleur de la figure
14 quiz pour comprendre la portée étonnamment compliquée de Python
Un mémorandum sur la mise en œuvre des recommandations en Python
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
L'attitude que les programmeurs devraient avoir (Le Zen de Python)
Entièrement traduit le site du "Guide de l'auto-stoppeur de Python"
Note Python: Le mystère de l'attribution d'une variable à une variable
J'ai essayé de résumer les opérations de chaîne de Python
Utilisez le hachage pour alléger le jugement de collision d'environ 1000 balles en Python (lié au nouveau virus corona)
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Renvoyez les données d'image avec Flask of Python et dessinez-les dans l'élément canvas de HTML
J'ai créé une fonction pour découper l'image de python openCV, alors veuillez l'utiliser.
Je n'ai pas le sens du "quiz demandant un sens de l'investissement", alors j'ai essayé de le résoudre avec la force brute (simulation Python Monte Carlo)