Articles of defaultdict

Python defaultdict y lambda

En el código de otra persona leí las siguientes dos líneas: x = defaultdict(lambda: 0) y = defaultdict(lambda: defaultdict(lambda: 0)) Como el argumento de defaultdict es una fábrica predeterminada, creo que la primera línea significa que cuando llamo x [k] para una clave k inexistente (como una statement como v = x [k]), el par […]

Resultados sorprendentes con Python timeit: Counter () vs defaultdict () vs dict ()

Obtuve resultados muy sorprendentes con el tiempo. ¿Puede alguien decirme si estoy haciendo algo mal? Estoy usando Python 2.7. Este es el contenido del archivo speedtest_init.py: import random to_count = [random.randint(0, 100) for r in range(60)] Estos son los contenidos de speedtest.py: __author__ = ‘BlueTrin’ import timeit def test_init1(): print(timeit.timeit(‘import speedtest_init’)) def test_counter1(): s = […]

cadena de formato de Python argumentos con nombre no utilizados

Digamos que tengo: action = ‘{bond}, {james} {bond}’.format(bond=’bond’, james=’james’) esta salida será: ‘bond, james bond’ A continuación tenemos: action = ‘{bond}, {james} {bond}’.format(bond=’bond’) esto dará como resultado: KeyError: ‘james’ ¿Hay alguna solución para evitar que ocurra este error, algo como: si keyrror: ignora, déjalo en paz (pero analiza a otros) compare la cadena de formato […]

Python: convierte defaultdict a dict

¿Cómo puedo convertir un defaultdict number_to_letter defaultdict(, {‘2’: [‘a’], ‘3’: [‘b’], ‘1’: [‘b’, ‘a’]}) ser un dictado común? {‘2’: [‘a’], ‘3’: [‘b’], ‘1’: [‘b’, ‘a’]}

No se puede encurtir por defecto.

Tengo un defaultdict que se ve así: dict1 = defaultdict(lambda: defaultdict(int)) El problema es que no puedo decaparlo usando cPickle. Una de las soluciones que encontré aquí es usar una función de nivel de módulo en lugar de un lambda. Mi pregunta es, ¿qué es la función de nivel de módulo? ¿Cómo puedo usar el […]

¿Cómo leer dos líneas de un archivo y crear claves dinámicas en un bucle for?

En los siguientes datos, estoy tratando de ejecutar un modelo simple de Markov. Digamos que tengo un dato con la siguiente estructura: pos M1 M2 M3 M4 M5 M6 M7 M8 hybrid_block S1 S2 S3 S4 S5 S6 S7 S8 1 ATTAAGACA|CCGCTTAGA 2 TGCTGTTGT|AATATCAAT 3 CAACAGTCC|GGACGCGCG 4 GTGTATCTG|TCTTTATCT El bloque M representa datos de un […]

¿Hay una clase estándar para un defaultdict nested infinitamente?

¿Alguien sabe si hay una clase estándar para un diccionario que se puede anidar infinitamente en Python? Me estoy repitiendo este patrón: d = defaultdict(lambda: defaultdict(lambda: defaultdict(int))) d[‘abc’][‘def’][‘xyz’] += 1 Si quiero agregar “otra capa” (por ejemplo, d[‘abc’][‘def’][‘xyz’][‘wrt’] ), tengo que definir otro anidamiento de defaultdicts. Para generalizar este patrón, escribí una clase simple que […]

¿Cómo funciona collections.defaultdict?

He leído los ejemplos en documentos de Python, pero aún no puedo entender qué significa este método. ¿Alguien puede ayudar? Aquí hay dos ejemplos de los documentos de Python >>> from collections import defaultdict >>> s = ‘mississippi’ >>> d = defaultdict(int) >>> for k in s: … d[k] += 1 … >>> d.items() [(‘i’, […]

Python: `if key in dict` vs.` try / except` – ¿cuál es el lenguaje más legible?

Tengo una pregunta sobre los modismos y la legibilidad, y parece que hay un choque de filosofías de Python para este caso en particular: Quiero comstackr el diccionario A del diccionario B. Si no existe una clave específica en B, no haga nada y continúe. ¿Qué camino es mejor? try: A[“blah”] = B[“blah”] except KeyError: […]

Valor predeterminado nested de defaultdict

¿Hay alguna manera de hacer que un valor predeterminado también sea el predeterminado para el valor predeterminado? (es decir, defaultdict recursivo de nivel infinito?) Quiero poder hacer: x = defaultdict(…stuff…) x[0][1][0] {} Entonces, puedo hacer x = defaultdict(defaultdict) , pero eso es solo un segundo nivel: x[0] {} x[0][0] KeyError: 0 Hay recetas que pueden […]