Abrufen von Häufigkeiten von Listenelementen mit Python
-
Verwenden Sie das Modul
collections
, um Häufigkeiten von Listenelementen mit Python abzurufen - Manueller Code zum Abrufen von Häufigkeiten von Listenelementen mit Python
-
Verwenden Sie
NumPy
, um Häufigkeiten von Listenelementen mit Python zu erhalten
Dieser kurze Artikel erklärt die Möglichkeiten, das Gesamtvorkommen aller Listenelemente mit Python zu zählen. Wir werden auch die Vor- und Nachteile dieser Vorgehensweise sehen.
Python ist eine sehr vielseitige Sprache, die es Entwicklern ermöglicht, sich auf das Hauptproblem zu konzentrieren, nicht auf seine Implementierung. Es ist vergleichsweise einfacher, in Python zu programmieren als in anderen modernen Sprachen wie C oder C++.
Das Elementhäufigkeitsproblem kann durch Python auf verschiedene Weise gelöst werden. Lassen Sie uns zunächst das Problem offiziell vorstellen.
Stellen Sie sich eine ungeordnete Liste von Zahlen wie Liste A= [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
vor, und wir möchten die Häufigkeit jeder Zahl in der Liste auf erhalten Überprüfen Sie, wie oft eine Nummer in der Liste vorkommt.
Die Antwort sollte so lauten: {'2': 1, '4': 2, '6': 1, '7': 2, '8': 3, '12': 1, '91': 1 }
. Das bedeutet, dass die Zahl 2
1
Mal existiert, 4
2
Mal existiert, 6
eine Häufigkeit von 1
hat und so weiter.
Verwenden Sie das Modul collections
, um Häufigkeiten von Listenelementen mit Python abzurufen
Bei dieser Methode verwenden wir das Modul Sammlungen
. Die Zählerfunktion dieses Moduls gibt einen Container zurück, der verfolgt, wie oft eine Zahl in der Liste vorkommt.
Siehe Code unten.
import collections
a = [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
counter = collections.Counter(a)
print(counter)
print(type(counter))
Der obige Code erzeugt die folgende Ausgabe.
Counter({8: 3, 4: 2, 7: 2, 2: 1, 12: 1, 6: 1, 91: 1})
<class 'collections.Counter'>
Sie können den folgenden Code verwenden, um die eindeutigen Nummern aus einem Container abzurufen.
counter.keys()
Die obige Codezeile ergibt das folgende Ergebnis.
dict_keys([2, 4, 7, 8, 12, 6, 91])
In ähnlicher Weise können Sie diesen Code ausführen, um die Anzahl jeder eindeutigen Nummer zu erhalten:
counter.values()
Die Ausgabe ist wie folgt:
dict_values([1, 2, 2, 3, 1, 1, 1])
Manueller Code zum Abrufen von Häufigkeiten von Listenelementen mit Python
In Methode 1 haben wir für die Zählung das Modul Sammlungen
verwendet. Aber bei dieser Methode müssen wir die gewünschten Ergebnisse manuell codieren.
Der Code dieses Ansatzes lautet wie folgt:
List_numbers = [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
dict_count = {}
for i, number in enumerate(List_numbers):
if number in dict_count.keys():
dict_count[number] = dict_count[number] + 1
else:
dict_count[number] = 1
print(dict_count)
Dies ist ein einfacher Code, in dem wir den Wörterbuchtyp verwendet haben, um die Anzahl für jede Zahl zu speichern. Die Schlüssel eines Wörterbuchs bleiben immer eindeutig, dh sie können nicht dupliziert werden.
Der obige Code erzeugt die folgende Ausgabe.
{2: 1, 4: 2, 7: 2, 8: 3, 12: 1, 6: 1, 91: 1}
Die Komplexität dieses Codes ist O(n)
.
Verwenden Sie NumPy
, um Häufigkeiten von Listenelementen mit Python zu erhalten
Im Modul numpy
bietet die Funktion unique()
die Flexibilität, die Häufigkeit jedes Elements der Liste zu finden.
import numpy as np
List_numbers = [2, 4, 7, 8, 12, 4, 6, 7, 8, 91, 8]
print(np.unique(List_numbers, return_counts=True))
Die Funktion np.unique()
wird verwendet, um die eindeutigen Elemente eines Arrays zu finden. Es gibt die sortierten eindeutigen Elemente eines Arrays zurück.
Der optionale Parameter return_counts
ermöglicht es uns, die jeweilige Elementanzahl zu erhalten.
Der vorhergehende Code gibt aus:
(array([ 2, 4, 6, 7, 8, 12, 91]), array([1, 2, 1, 2, 3, 1, 1]))
Um die Anzahl zu erhalten, können Sie Folgendes verwenden:
np.unique(List_numbers, return_counts=True)[1]
In diesem Artikel haben wir verschiedene Möglichkeiten vorgeschlagen, um die Anzahl der Listenelemente in Python zu ermitteln. Sie können je nach Ressourcen- und Zeitaufwand aus den besprochenen Methoden auswählen.
Verwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert