Agregue nuevas claves a un diccionario mientras incrementa los valores existentes
Estoy procesando un archivo CSV y contando los valores únicos de la columna 4. Hasta ahora he codificado esto de tres maneras. Uno usa "if key in dictionary", el segundo atrapa KeyError y el tercero usa "DefaultDictionary". Por ejemplo (donde x [3] es el valor del archivo y "a" es un diccionario):
Primera forma:
if x[3] in a:
a[x[3]] += 1
else:
a[x[3]] = 1
Segunda forma:
try:
b[x[3]] += 1
except KeyError:
b[x[3]] = 1
Tercera forma:
from collections import defaultdict
c = defaultdict(int)
c[x[3]] += 1
Mi pregunta es: de qué manera es más eficiente ... más limpio ... mejor ... etc. ¿O hay una mejor manera? Ambas formas funcionan y dan la misma respuesta, pero pensé en aprovechar la mente de la colmena como un caso de aprendizaje.
Gracias -