Articles of estructuras de datos de

Lista de diccionarios – seguimiento de la frecuencia de las palabras por archivo

He escrito algo de código para contar la frecuencia de palabras en varios archivos de texto y almacenarlos en un diccionario. He estado tratando de encontrar un método para mantener un total acumulado por archivo de conteos para cada palabra en una forma como: word1 [1] [20] [30] [22] word2 [5] [7] [0] [4] He […]

Estructura de datos para almacenar pares clave-valor y recuperar la clave para el valor más bajo rápidamente

Estoy implementando algo como un caché, que funciona así: Si un nuevo valor para la clave dada llega de algún proceso externo, almacene ese valor y recuerde la hora en que llegó este valor. Si estamos inactivos, busque la entrada más antigua en el caché, obtenga el nuevo valor de la clave desde una fuente […]

Estructura accesible por nombre de atributo u opciones de índice

Soy muy nuevo en Python, y estoy tratando de averiguar cómo crear un objeto que tenga valores accesibles por nombre de atributo o por índice. Por ejemplo, la forma en que os.stat () devuelve un stat_result o pwd.getpwnam () devuelve un struct_passwd. Al tratar de averiguarlo, solo he encontrado implementaciones en C de los tipos […]

Eliminar un elemento de una cola de prioridad

En Python, el módulo heapq proporciona una cola de prioridad. Tiene métodos para insertar y hacer estallar artículos. ¿Cómo elimina un elemento que ha insertado que no es la prioridad más baja de la cola? (Recetas alternativas para hacer esto usando otras colecciones alternativas también son bienvenidas)

¿Hay una estructura de datos estándar de Python que mantenga la cosa en orden?

Tengo un conjunto de rangos que podrían ser algo como esto: [(0, 100), (150, 220), (500, 1000)] Luego agregaría un rango, digamos (250, 400) y la lista se vería así: [(0, 100), (150, 220), (250, 400), (500, 1000)] Luego intentaría agregar el rango (399, 450) , y se produciría un error porque se superpuso (250, […]

Intersección de dos listas de cuerdas

Tuve una pregunta de entrevista en este sentido: Dadas dos listas de clientes desordenados, devuelva una lista de la intersección de las dos listas. Es decir, devolver una lista de los clientes que aparecen en ambas listas. Algunas cosas que establecí: Supongamos que cada cliente tiene un nombre único Si el nombre es el mismo […]

Estructura de datos de Python para agregar, eliminar y random.choice eficientes

Estoy buscando una estructura de datos Python add que pueda add un nuevo elemento, remove un elemento existente y elegir un elemento aleatorio, todo en un tiempo mejor que O (n). Esperaba que el set pudiera hacer esto, pero AFAIK, la única forma de elegir un elemento aleatorio de un conjunto de Python es random.choice(list(my_set)) […]

Estructura de datos ideal con búsqueda rápida, actualización rápida y fácil comparación / clasificación

Estoy buscando una buena estructura de datos para contener una lista de tuplas con valores (hash, timestamp) . Básicamente, quiero usarlo de la siguiente manera: Los datos entran, compruebe si ya está presente en la estructura de datos (igualdad de hash, no marca de tiempo). Si es así, actualice la marca de tiempo a “ahora” […]

Python: ¿calcula funciones de densidad de probabilidad multinomiales en un gran conjunto de datos?

Originalmente pretendía usar MATLAB para abordar este problema, pero la función incorporada tiene limitaciones que no se adaptan a mi objective. La misma limitación ocurre en NumPy. Tengo dos archivos delimitados por tabuladores. El primero es un archivo que muestra los residuos de aminoácidos, la frecuencia y el recuento de una base de datos interna […]

Python: Encontrar una clave (cadena) en un diccionario que contiene una subcadena

En mi script, construyo un diccionario de claves (álbumes) asignadas a artistas (valores) para poder hacer una búsqueda rápida de lo que los artistas hicieron en qué álbumes. Sin embargo, quiero que el usuario pueda encontrar todos los álbumes que contienen una subcadena. Por ejemplo, una búsqueda en “Light” debería regresar [Light Chasers] = Cloud […]