Trillizos pitagóricos utilizando la comprensión de la lista de Python

Puedo encontrar trillizos pitagóricos usando for loop de la siguiente manera:

def triplet(n): # Find all the Pythagorean triplets between 1 and n (inclusive)
  for a in range(n+1):
    for b in range(a):
      for c in range(b):
        if a*a == b*b + c*c:
          print(a, b, c)

Quería reemplazar esto con una línea usando la comprensión de la lista y probé la siguiente pieza:

[a, b, c in range(n+1), range(a), range(b) if a*a == b*b + c*c]

Pero recibo un error de sintaxis en el corchete de cierre. Traté de cambiar la lista a tupla usando corchetes simples, pero sin éxito. ¿Puedo saber cómo hacerlo bien?

Respuestas a la pregunta(2)

Su respuesta a la pregunta