Articles of defaultdict

Más formas Pythonic de contar las cosas en un defaultdict altamente nested

Mi código actualmente tiene que contar las cosas en un dict nested en otro. Tengo artículos que necesitan ser indexados por 3 valores y luego contados. Así que, antes de mi bucle, inicializo un valor por defaultdict nested de esta manera: from collections import defaultdict type_to_count_dic = defaultdict( lambda: defaultdict( lambda: defaultdict(int) ) ) Lo […]

Tecla de acceso en fábrica de defaultdict

Estoy tratando de hacer algo similar a esto: from collections import defaultdict import hashlib def factory(): key = ‘aaa’ return { ‘key-md5’ : hashlib.md5(‘%s’ % (key)).hexdigest() } a = defaultdict(factory) print a[‘aaa’] (en realidad, la razón por la que necesito acceso a la clave en la fábrica no es para calcular un md5 , sino […]

Usando la clave en collections.defaultdict

collections.defaultdict es genial. Especialmente en conjunto con lambda : >>> import collections >>> a = collections.defaultdict(lambda : [None,None]) >>> a[‘foo’] [None, None] ¿Hay alguna forma de usar la clave dada (por ejemplo, ‘foo’ ) en la lambda? Por ejemplo (no funciona): >>> a = collections.defaultdict(lambda : [None]*key) >>> a[1] [None] >>> a[2] [None, None] >>> […]

Python cómo crear un dict de dict de lista con defaultdict

¿Cómo creo un dict de dictado de listas usando defaultdict? Estoy teniendo el siguiente error. >>> from collections import defaultdict >>> a=defaultdict() >>> a[“testkey”]=None >>> a defaultdict(None, {‘testkey’: None}) >>> a[“testkey”][“list”]=[] Traceback (most recent call last): File “”, line 1, in TypeError: ‘NoneType’ object does not support item assignment

Agregue conjuntos de acuerdo a las claves con python defaultdict

Tengo un montón de líneas en texto con nombres y equipos en este formato: Team (year)|Surname1, Name1 p.ej Yankees (1993)|Abbot, Jim Yankees (1994)|Abbot, Jim Yankees (1993)|Assenmacher, Paul Yankees (2000)|Buddies, Mike Yankees (2000)|Canseco, Jose Y así sucesivamente durante varios años y varios equipos. Me gustaría agregar nombres de jugadores según la combinación del equipo (año) eliminando […]

TypeError: el primer argumento debe ser invocable, defaultdict

El error proviene de publishDB = defaultdict(defaultdict({})) Quiero crear una base de datos como {subject1:{student_id:{assignemt1:marks, assignment2:marks,finals:marks}} , {student_id:{assignemt1:marks, assignment2:marks,finals:marks}}, subject2:{student_id:{assignemt1:marks, assignment2:marks,finals:marks}} , {student_id:{assignemt1:marks, assignment2:marks,finals:marks}}} . Intenté rellenarlo como DB[math][10001] = a dict y luego lo leí como d = DB[math][10001] . Desde entonces, estoy en la computadora de mi oficina, no puedo probar diferentes módulos. […]

Árbol de una línea de Python usando defaultdict. ¿Cómo reducir el número de argumentos requeridos?

Estoy usando el árbol por defecto de una línea de este gist. def tree(): return defaultdict(tree) Actualmente, debe proporcionar un [] separado para cada nodo que desee agregar. es decir: users = tree() users[‘harold’][‘username’][‘hrldcpr’] users[‘handler’][‘username’][‘matthandlersux’] Mi pregunta es, ¿cómo podría aplanar la entrada para poder proporcionar una lista para lograr el mismo resultado? es decir: […]

¿Las colecciones.defaultdict son seguras?

No he trabajado con subprocesos en Python y he hecho esta pregunta como un completo desconocido. Me pregunto si defaultdict es seguro para subprocesos. Déjame explicarlo: yo tengo d = defaultdict(list) que crea una lista de claves faltantes por defecto. Digamos que tengo varios hilos iniciados haciendo esto al mismo tiempo: d[‘key’].append(‘value’) Al final, se […]

DefaultDict, en los elementos agregados, mantiene las claves ordenadas en el orden de adición

defaultdict(list) un defaultdict(list) vacío defaultdict(list) , y lo estoy agregando. Quiero que las claves se ordenen en orden de adición. Mi código toma una entrada. Entrada: 4 bcdef abcdefg bcde bcdef Mi código: from collections import defaultdict d = defaultdict(list) a = int(input()) for i in range(a): temp = raw_input() d[temp].append(i) for k in d: […]

Exponer `defaultdict` como un` dict` regular

Estoy usando defaultdict(set) para rellenar una asignación interna en una estructura de datos muy grande. Una vez rellenado, toda la estructura (incluida la asignación) se expone al código del cliente. En ese momento, no quiero que nadie modifique el mapeo. Y nadie lo hace, intencionalmente. Pero a veces, el código del cliente puede referirse accidentalmente […]