Python - funkcja kodująca tekst z klawiatury

Witam serdecznie,

jak napisać program, który każdemu słowu przypisuje liczbę naturalną?

Na przykład tekst: “to jest przykładowe zdanie a to jest przykładowe sformułowanie” powinien być zakodowany jako:

[0, 1, 2, 3, 4, 0, 1, 2, 5]

 

Narazie mam coś takiego, program jednak nie działa dobrze:

def Enigma():
    i=0
    j=0
    zdanie = raw_input('Podaj zdanie do zakodowania: ')
    lista = zdanie.split()
    for index in range(i,len(lista)):
        for index1 in range(j,len(lista)):
            if lista[i] == lista[j]:
                lista[j] = i
            j = j+1
        i = i+1
        j=i
    return lista

 

lista[j] = i

Zamiast wrzucać dane do tej samej listy, utwórz nową listę  i do niej wrzucaj te numerki, a potem ją zwróć.

Czy to musi być lista, a nie przypadkiem słownik?

c = {}

for a in split_text:

   c[a] = 0

i = 0

for a in c.keys():

  print str(i) + " " + a

 i= i +1

 

Powinno działać, ale pewien nie jestem, bo nie testowałem

Teraz powinno działać, bo wszystkie problemy rozwiązałem