Master 10 One-Liners esenciales de Python

En este tutorial, le mostraremos 10 poderosas frases de Python que puede usar para hacer que su código sea más conciso y eficiente. Estas frases ingeniosas cubren una variedad de temas, que incluyen:

  • 1. Intercambiar variables
  • 2. Comprensión de listas
  • 3. Operador ternario (if-else)
  • 4. Imprimir sin líneas nuevas
  • 5. Días restantes en el año
  • 6. Invertir una lista
  • 7. Múltiples asignaciones de variables
  • 8. Números separados por espacios a la lista de enteros
  • 9. Leer un archivo en la lista
  • 10. Servidor HTTP

1. Intercambiar variables

Puede intercambiar variables sin necesidad de una tercera variable temporal:

a = 5
b = 10

a, b = b, a

print(a, b) # 10, 5

2. Comprensión de listas

En lugar de un bucle for que agrega los elementos, puede crear una lista de inmediato con la sintaxis de comprensión de lista. También permite sentencias if:

squares = [i * i for i in range(5)]
# [0, 1, 4, 9, 16]

squares = [i * i for i in range(5) if i % 2 == 0]
# [0, 4, 16]

3. Operador ternario (if-else)

El operador ternario es una declaración if-else en una línea:

var = 42 if 3 > 2 else 999
# 42

4. Imprimir sin líneas nuevas

Si solo desea imprimir los artículos, y no la lista completa, puede desempaquetar los artículos con el *operador e imprimirlo en una línea:

# No need to do this:
data = [0, 1, 2, 3, 4, 5]
for i in data:
    print(i, end=" ")
print()

# One-liner
print(*data)
# 0 1 2 3 4 5

5. Días restantes en el año

Algunos cálculos divertidos. Determine cuántos días quedan en este año, por ejemplo, para trabajar en sus metas;

import datetime;print((datetime.date(2023,1,1)-datetime.date.today()).days)
# 36

También puede ejecutarlo desde la terminal usando python -c "statement", o incluso crear un alias en su configuración para que pueda llamarlo fácilmente:

>> python -c "import datetime;print((datetime.date(2023,1,1)-datetime.date.today()).days)"
36

>> alias daysleft='python -c "import datetime;print((datetime.date(2023,1,1)-datetime.date.today()).days)"'

>> daysleft
36

6. Invertir una lista

Puede revertir una lista en una línea con el corte de lista y un paso de -1:

a = [1, 2, 3, 4, 5, 6]
a = a[::-1]
# [6, 5, 4, 3, 2, 1]

7. Múltiples asignaciones de variables

Puede asignar múltiples variables de diferentes tipos de datos en una línea:

a, b, c = 3, 99, 'Python'

print(a, b, c) # 3, 99, 'Python'

8. Números separados por espacios a la lista de enteros

Puede leer una cadena de números separados por espacios en una lista de enteros usando el split()método combinado con la map()función:

user_input = "1 2 3 4 5 6"

my_list = list(map(int, user_input.split()))
# [1, 2, 3, 4, 5, 6]

9. Leer un archivo en la lista

Utilizando de nuevo la comprensión de listas, puede leer todas las líneas de un archivo en una lista.

(Tenga en cuenta que esto podría no cerrar correctamente el archivo después, pero no debería causar daño en este ejemplo).

my_list = [line.strip() for line in open('filename.txt', 'r')]

10. Servidor HTTP

Ejecute esto en su terminal para iniciar un servidor HTTP:

$ python -m http.server

¡Feliz codificación!

1.00 GEEK