Impressão da direita para a esquerda e da esquerda para a direita

Quero que ele produza o número ao lado de uma palavra para que eu possa solicitar ao usuário que selecione a palavra usando o número correspondente.

Este é o meu código

alt_words = hlst
loopnum = 8
for i in range(loopnum):
        if i < len(alt_words):
            print('{0}. {1:<20}'.format((i+1), alt_words[i]), end =' ')
            if i == 0:
                print('', end=' ')
        if i + 9 <= len(alt_words):
            print('{0}. {1:<20}'.format((i+9), alt_words[i+8]), end =' ')
        if i + 17 <= len(alt_words):
            print('{0}.  {1:<20}'.format((i+17), alt_words[i+16]), end=' ')
        print('\n'+'-'*80)

Produz isso

O primeiro número de cada linha é impresso à esquerda, mas a palavra à direita, enquanto o restante dos números e palavras são impressos em RTL. Parece que quando o python começa a imprimir em uma linha LTR, ele pode mudar para RTL, mas não voltar de RTL para LTR. Observe como os períodos são impressos à direita do número para o segundo conjunto de números em cada linha.

Funciona perfeitamente bem e fica bonito com palavras em inglês:

Suponho que uma solução alternativa possa envolver colocar o número após a palavra, mas acho que deve haver uma maneira melhor.

questionAnswers(1)

yourAnswerToTheQuestion