Über die Nützlichkeit der Python Counter-Klasse - Sie müssen sie nicht mehr selbst zählen -

Überblick

Bisher wurde das Listenelement mit einer for-Anweisung gedreht, um zu überprüfen, wie viele Elemente in der Liste enthalten sind, und die Kombination aus Element und Nummer wurde in dict festgelegt. Wenn Sie jedoch die collection.Counter-Klasse verwenden, können Sie sie in einer Zeile verarbeiten.

Bisher (schmutzig mit Diktat)

    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}

Mit der Counter-Klasse

    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})

In der Counter-Klasse können Summen- und Differenzmengen berechnet werden.


    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})

Probleme, die mit der Counter-Klasse in AtCoder leicht gelöst werden können

Recommended Posts

Über die Nützlichkeit der Python Counter-Klasse - Sie müssen sie nicht mehr selbst zählen -
Über die Funktionen von Python
Konvertieren Sie das Ergebnis von Python Optparse, um es zu diktieren und zu verwenden
Informationen zur Grundlagenliste der Python-Grundlagen
Ich möchte es nicht zugeben ... Die dynamische Systemdarstellung von Neural Network
Informationen zur virtuellen Umgebung von Python Version 3.7
Die Mathematik einer Frage zur Aufnahmeprüfung war umständlich, deshalb überließ ich sie schließlich Python
Schreiben Sie eine Notiz über die Python-Version von Python Virtualenv
[Hinweis] Über die Rolle des Unterstrichs "_" in Python
Ich habe Python verwendet, um mich über die Rollenauswahl der 51 "Yachten" in der Welt zu informieren.
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
Eine Geschichte über den Versuch, Linter mitten in einem Python (Flask) -Projekt vorzustellen
Nehmen Sie eine Instanz einer Python-Ausnahmeklasse nicht direkt als Argument für die Ausnahmeklasse!
[Python] Informationen zum Erstellen eines Tools zum Anzeigen aller Seiten der Website, die in der JSON-Datei registriert sind und auf denen sie abgefangen wurden
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
Überlegen Sie, wie Sie Python auf Ihrem iPad programmieren können
Vorlage des Python-Skripts zum Lesen des Inhalts der Datei
So ermitteln Sie die Anzahl der Stellen in Python
Option [Python] zum Deaktivieren der Ausgabe von click.progressbar
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
14 Tests, um den überraschend verwirrenden Umfang von Python zu verstehen
Ein Memorandum über die Umsetzung von Empfehlungen in Python
[Einführung in Python] Grundlegende Verwendung der Bibliothek matplotlib
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Die Einstellung, die Programmierer haben sollten (The Zen of Python)
Die Website von "The Hitchhiker's Guide to Python" wurde vollständig übersetzt.
Python Hinweis: Das Rätsel, einer Variablen eine Variable zuzuweisen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Verwenden Sie Hash, um das Kollisionsurteil von etwa 1000 Bällen in Python zu erleichtern (im Zusammenhang mit dem neuen Corona-Virus).
Wie kann man schnell die Häufigkeit des Auftretens von Zeichen aus einer Zeichenfolge in Python zählen?
Geben Sie die Bilddaten mit Flask of Python zurück und zeichnen Sie sie in das Canvas-Element von HTML
Ich habe eine Funktion zum Trimmen des Bildes von Python openCV erstellt. Verwenden Sie sie daher bitte.
Ich habe kein Gefühl für "Quiz fragen nach Investitionssinn", also habe ich versucht, es mit roher Gewalt zu lösen (Python Monte Carlo Simulation)