Articles of rendimiento de la

Rendimiento en una función recursiva.

Estoy tratando de hacer algo a todos los archivos en una ruta determinada. No quiero recostackr todos los nombres de archivos de antemano, luego hacer algo con ellos, así que intenté esto: import os import stat def explore(p): s = ” list = os.listdir(p) for a in list: path = p + ‘/’ + a […]

Rendimiento de varios métodos para probar un palíndromo

Hoy, estaba jugando con un par de rompecabezas de progtwigción. Ante la tarea de probar una cadena para ver si es un palíndromo o no, concebí varias formas de lograrlo. Los conceptos básicos de estos tres métodos se describen a continuación (se omite la mayoría del código de limpieza y prueba). def check_palin(victim, method): if […]

Encuentra eficientemente los caracteres repetidos en una cadena

Sé que la eficiencia de este código no es óptima (especialmente con entradas gigantescas), y sé que hay una manera de cambiar este algoritmo para manejar otros tipos de datos y no solo una repetición en una cadena (obviamente, solo existen muchos personajes para buscar a través de). ¿Hay alguna manera de que pueda boost […]

¿La forma más eficiente de eliminar múltiples subcadenas de cadena?

¿Cuál es el método más eficiente para eliminar una lista de subcadenas de una cadena? Me gustaría una forma más limpia y rápida de hacer lo siguiente: words = ‘word1 word2 word3 word4, word5’ replace_list = [‘word1’, ‘word3’, ‘word5’] def remove_multiple_strings(cur_string, replace_list): for cur_word in replace_list: cur_string = cur_string.replace(cur_word, ”) return cur_string remove_multiple_strings(words, replace_list)

¿La recolección de basura de Python puede ser tan lenta?

Tengo un problema con mi aplicación de python y creo que está relacionado con la recolección de basura de python, incluso si no estoy seguro … El problema es que mi aplicación tarda mucho tiempo en salir y cambiar de una función a la siguiente. En mi aplicación, manejo diccionarios muy grandes, que contienen miles […]

Llamando coroutines en asyncio.Protocol.data_received

Estoy teniendo problemas para hacer cosas asíncronas en el callback asyncio.Protocol.data_received del nuevo módulo de asyncio de Python. Considere el siguiente servidor: class MathServer(asyncio.Protocol): @asyncio.coroutine def slow_sqrt(self, x): yield from asyncio.sleep(1) return math.sqrt(x) def fast_sqrt(self, x): return math.sqrt(x) def connection_made(self, transport): self.transport = transport #@asyncio.coroutine def data_received(self, data): print(‘data received: {}’.format(data.decode())) x = json.loads(data.decode()) #res […]

Sustitución de las cadenas vacías en una cadena

Encontré accidentalmente que en python, una operación de la forma string1.join(string2) Se puede express de manera equivalente como string2.replace(”, string1)[len(string1):-len(string1)] Además, después de timeit con algunas entradas de diferentes tamaños, esta extraña forma de unirse parece ser más del doble de rápida. ¿Por qué debería ser más lento el método de unión? ¿Reemplazar la cadena […]

cómo contar de manera óptima los elementos en una lista de python

Esta es casi la misma pregunta que aquí , excepto que estoy preguntando acerca de la solución más eficiente para un resultado ordenado. Tengo una lista (alrededor de 10 enteros al azar entre 0 y 12), por ejemplo: the_list = [5, 7, 6, 5, 5, 4, 4, 7, 5, 4] Quiero crear una función que […]

Lista de Python Eficiencia de indexación

Pregunta rápida sobre el objeto construido en la lista de python. Digamos que tiene una lista con los números del 0 al 99. Está escribiendo un progtwig que toma el último elemento de la lista y lo usa para algún otro propósito. ¿Es más eficiente usar la lista [-1] que usar la lista [99]? En […]

Python: método eficaz para eliminar todas las letras que no son letras y reemplazarlos con guiones bajos

def format_title(title): ”.join(map(lambda x: x if (x.isupper() or x.islower()) else ‘_’, title.strip())) ¿Algo más rápido?