Python for loops might be often slower than a single call into a specific function, as it could use vectorized code under the hood.
You could profile both approaches for your current workloads and chose the faster one.
For the norm calculation I would assume that avoiding the loop will yield a better performance.