>>162を修正

def triple(f, n):
    return [(x, y, z) for x in range(1, n+1) for y in range(1, n+1) for z in range(1, n+1) if f(x, y, z)]
def pyths(n):
    return triple(lambda x,y,z: x*x + y*y == z*z, n)
print pyths(10)