Python

Voy a compartirles un algoritmo de ordenamiento llamado merge sort que usa recursividad, divide and conquer para poder alcanzar el objetivo de ordenamiento en una complejidad en todos los casos de n log n


Les comparto una implementación posible del algoritmo de búsqueda binaria con Python.


If you are using pdb or ipdb, give a try to pdbpp. Una herramienta para debugging en python.


Logging te puede ayudar muchisimo, acá solo unas pistas para poder configurarlo rápidamente.


Python tiene el estamento For para recorrer tuplas, listas, conjuntos y diccionarios.


Los valores de una columna pueden ser muchos y podemos convertir esta lista a un conjunto (set) de valores para así quedarme con valores sin repetidos. Pero pandas trae una función built-in: unique.


Muchas veces queremos medir los tiempos de un algoritmos sin tener que recurrir a ninguna libreria externa. Para estos casos podemos usar time.time() o construir un pequeño decorador para nuestras funciones.


El método empleado por Python es la de la comparación de bytes. Otro método posible para la comparación es el de hashear ambos archivos y comparar, pero esto debería ser un poco más lento que simplemente compara byte a byte.


find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf


Seguimos con el tutorial sobre el principal pluggin para crear una api rest con Django (el principal framework de python ;-)


Tags


python-argentina

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!


Este Zen se puede leer en el pep-0020