[TIP 1] Múltiples condiciones en una línea
Para hacer condiciones tipo “if”, se puede hacer de una forma mucho más elegante y en una línea de la siguiente forma:
- En vez de hacer esto:
if a == 3:
print(a)
else:
print(b)
- Puedes hacer esto:
print(a) if a == 3 else print(b)
[TIP 2] Comparar dos listas en una línea
Poner explicación:
- En vez de hacer esto para comparar dos listas:
h = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list = [1, 2, 3, 4, 5, 6, 9, 10]
r = []
for elem in h:
if elem in list:
r.append(elem)
# r = [1, 2, 3, 4, 5, 6, 9, 10]
- Puedes hacer esto:
h = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list = [1, 2, 3, 4, 5, 6, 9, 10]
r = [elem for elem in h if elem in list]
# r = [1, 2, 3, 4, 5, 6, 9, 10]
[TIP 3] Comprobación de variables de forma más “pythonic”.
Si tengo dos variables y quiero que me devuelva la que no es None, en vez de hacer esto:
````python
a = None
b = 2
if a:
print(a)
else:
print(b)
````
Printea 2
Haz mejor esto:
````python
a = None
b = 2
print(a or b)
````
Printea 2
[TIP 4] Objetos tipo queue
en Python (Librería collections).
Si queremos hacer una cola de objetos, en vez de crear una lista y tratarla como tal, podemos importar la libreria collections
y usar el objeto queue
que nos ofrece.
from collections import deque
Estas son las principales diferencias entre una lista y una cola:
- Acceso a elementos:
- En una lista, puedes acceder a elementos por su índice, y eliminar o insertar elementos en cualquier posición.
- En una cola, solo puedes acceder al primer elemento, y solo puedes eliminar o insertar elementos por el final de la cola.
- Operaciones eficientes:
- Las colas (deque) están optimizadas para operaciones de agregar y quitar elementos tanto al principio como al final. Las operaciones
popleft()
ypop()
son eficientes, al igual queappend()
yappendleft()
. - En una lista, agregar o quitar elementos al principio es menos eficiente, ya que implica desplazar todos los elementos restantes.
- Las colas (deque) están optimizadas para operaciones de agregar y quitar elementos tanto al principio como al final. Las operaciones
- Uso específico:
- Las colas son útiles cuando necesitas seguir el principio de “primero en entrar, primero en salir” (FIFO). Es decir, el primer elemento que se agrega es el primero en ser eliminado.
- Las listas son más versátiles y se utilizan para una variedad de propósitos, ya que admiten operaciones en cualquier posición y son más adecuadas cuando el orden exacto de los elementos es crucial. En resumen, mientras que una cola (
deque
) comparte algunas similitudes con una lista, está optimizada para ciertos escenarios, como la gestión eficiente de elementos en el principio y el final de la secuencia.
from collections import deque
queue = deque()
queue.append(1)
queue.append(2)
queue.append(3)
print(queue) # deque([1, 2, 3])
queue.popleft()
print(queue) # deque([2, 3])
queue.pop()
print(queue) # deque([2])
Posted in Guías, Pro Tips, Programación, Python