Imprimir listas como dados tabulares

Sou bastante novo em Python e agora estou com dificuldades de formatar meus dados para obter impressões impressa

Tenho uma lista usada para dois títulos e uma matriz que deve ser o conteúdo da tabela. Igual a

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

Observe que os nomes dos cabeçalhos não têm necessariamente o mesmo comprimento. As entradas de dados são todas inteiras, no entanto.

gora, eu quero representar isso em um formato de tabela, algo como isto:

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

Tenho um palpite de que deve haver uma estrutura de dados para isso, mas não consigo encontrá-la. Tentei usar um dicionário e formatar a impressão, tentei loops com recuo e tentei imprimir como strings.

Tenho certeza de que deve haver uma maneira muito simples de fazer isso, mas provavelmente sinto falta disso por falta de experiênci

questionAnswers(24)

yourAnswerToTheQuestion