Listas de impresión como datos tabulares

Soy bastante nuevo en Python y ahora estoy luchando por formatear bien mis datos para la salida impresa.

Tengo una lista que se usa para dos encabezados y una matriz que debe ser el contenido de la tabla. Al igual que

teams_list = ["Man Utd", "Man City", "T Hotspur"]
data = np.array([[1, 2, 1],
                 [0, 1, 0],
                 [2, 4, 2]])

Tenga en cuenta que los nombres de encabezado no son necesariamente de la misma longitud. Sin embargo, las entradas de datos son todos enteros.

Ahora, quiero representar esto en un formato de tabla, algo como esto:

            Man Utd   Man City   T Hotspur
  Man Utd         1          0           0
 Man City         1          1           0
T Hotspur         0          1           2

Tengo el presentimiento de que debe haber una estructura de datos para esto, pero no puedo encontrarla. He intentado usar un diccionario y formatear la impresión, he intentado bucles for con sangría y he intentado imprimir como cadenas.

Estoy seguro de que debe haber una manera muy simple de hacer esto, pero probablemente me la estoy perdiendo por falta de experiencia.

Respuestas a la pregunta(24)

Su respuesta a la pregunta