Manhattan distance (the L1 norm of the difference) adds up the gaps along each axis — the distance you'd walk on a street grid where you can't cut diagonally across a block.
d = Σ |a[i] - b[i]|
Task: write manhattan_distance(point_a, point_b) returning the distance, rounded to 4 decimal places.
L1 turns up wherever you want to discourage large individual coordinates without squaring them. Lasso regularisation is exactly this distance applied to a weight vector, and the reason it drives weights to exactly zero rather than merely small.