Articles of estructuras de datos de

¿Cuál es la mejor estructura de datos para almacenar un conjunto de cuatro (o más) valores?

Digamos que tengo las siguientes variables y sus values correspondientes que representan un record . name = ‘abc’ age = 23 weight = 60 height = 174 Tenga en cuenta que el value puede ser de diferentes types ( string , integer , float , referencia a cualquier otro objeto, etc.). Habrá muchos records (al […]

Alternativas eficientes de memoria a los diccionarios de Python

En uno de mis proyectos paralelos actuales, estoy escaneando un texto mirando la frecuencia de los tríos de palabras. En mi primer bash, utilicé el diccionario predeterminado con tres niveles de profundidad. En otras palabras, topDict[word1][word2][word3] devuelve el número de veces que estas palabras aparecen en el texto, topDict[word1][word2] devuelve un diccionario con todas las […]

Dictado ordenado, preservar orden inicial

Dictado Ordenado: import collections d = {‘banana’: 3, ‘apple’:4, ‘pear’: 1, ‘orange’: 2} collections.OrderedDict(sorted(d.items(), key=lambda t: t[0])) El ejemplo anterior muestra cómo ordenar un dict, que no es compatible con la naturaleza. Sin embargo, ¿cómo puedo conservar el orden inicial en lugar de ordenar por clave o valor?

¿Cómo puedo leer las estructuras de datos Perl de Python?

A menudo he visto personas que utilizan estructuras de datos Perl en lugar de archivos de configuración; es decir, un archivo solitario que contiene sólo: %config = ( ‘color’ => ‘red’, ‘numbers’ => [5, 8], qr/^spam/ => ‘eggs’ ); ¿Cuál es la mejor manera de convertir el contenido de estos archivos en estructuras de datos […]

¿Tupla múltiple a tupla de dos pares en Python?

¿Cuál es la mejor manera de dividir esto? tuple = (‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’) dentro de esto: tuples = [(‘a’, ‘b’), (‘c’, ‘d’), (‘e’, ‘f’), (‘g’, ‘h’)] Suponiendo que la entrada siempre tiene un número par de valores.

Uso de un diccionario de Python como clave (no nested)

Python no permite que los diccionarios se utilicen como claves en otros diccionarios. ¿Hay una solución alternativa para usar diccionarios no nesteds como claves? El problema general con objetos no hashables más complicados y mi caso de uso específico se ha trasladado aquí . Mi descripción original de mi caso de uso era incorrecta.

¿Cuál es el objeto de estructura más rápido (para acceder) en Python?

Estoy optimizando un código cuyo cuello de botella principal se está ejecutando y accediendo a una lista muy grande de objetos tipo estructura. Actualmente estoy usando namedtuples, por legibilidad. Sin embargo, algunas evaluaciones comparativas rápidas que usan ‘timeit’ muestran que esta es realmente la manera incorrecta de ir donde el rendimiento es un factor: Tupla […]

¿Cuál es la estructura de datos de gráficos más eficiente en Python?

Necesito poder manipular un gráfico grande (10 ^ 7 nodos) en python. Los datos correspondientes a cada nodo / borde son mínimos, por ejemplo, un pequeño número de cadenas. ¿Cuál es la forma más eficiente, en términos de memoria y velocidad , de hacer esto? Un dict de dictados es más flexible y más fácil […]

Los resultados de sys.getsizeof () no se correlacionan del todo con el tamaño de la estructura

Estoy tratando de crear una lista de tamaño 1 MB. Mientras que el siguiente código funciona: dummy = [‘a’ for i in xrange(0, 1024)] sys.getsizeof(dummy) Out[1]: 9032 El siguiente código no funciona. import os import sys dummy = [] dummy.append((os.urandom(1024)) sys.getsizeof(dummy) Out[1]: 104 ¿Alguien puede explicar por qué? Si se pregunta por qué no estoy […]

¿Qué tan caros son los diccionarios de Python para manejar?

Como indica el título, ¿qué tan caros son los diccionarios de Python para manejar? Creación, inserción, actualización, eliminación, todo ello. Las complejidades de tiempo asintóticas son interesantes en sí mismas, pero también cómo se comparan con, por ejemplo, tuplas o listas normales.