Neue Schlüssel zu einem Wörterbuch hinzufügen, während vorhandene Werte erhöht werden

Ich verarbeite eine CSV-Datei und zähle die eindeutigen Werte von Spalte 4. Bisher habe ich diese drei Methoden codiert. Einer verwendet "if key in dictionary", der zweite fängt den KeyError ein und der dritte verwendet "DefaultDictionary". Zum Beispiel (wobei x [3] der Wert aus der Datei ist und "a" ein Wörterbuch ist):

Erster Weg:

if x[3] in a:
    a[x[3]] += 1
else:
    a[x[3]] = 1

Zweiter Weg:

try:
    b[x[3]] += 1
except KeyError:
    b[x[3]] = 1

Dritter Weg:

from collections import defaultdict
c = defaultdict(int)
c[x[3]] += 1

Meine Frage ist: Welcher Weg ist effizienter ... sauberer ... besser ... usw. Oder gibt es einen besseren Weg. Beide Möglichkeiten funktionieren und geben die gleiche Antwort, aber ich dachte, ich würde den Hive Mind als Lernfall nutzen.

Vielen Dank

Antworten auf die Frage(10)

Ihre Antwort auf die Frage