Я бы на вашем месте ознакомился с тем как использовать цикл for
Да, через for вышло лаконичнее и даже чуть ближе к правде, но каждый следующий словарь включает все ключи, значения из предыдущего, будто пустышке каждый раз присваивается последний накопленный словарь :(
# sent_split - двумерный список, [i][j] элемент - это j слово в i предложении
# dict_list, empt - список из 1-го пустого словаря и пустой словарь соответственно
for i in range(0,len(sent_split)):
for word in sent_split[i]:
if (dict_list[i].get(word,0)==0):
k=0
for word1 in sent_split[i]:
if word1==word:
k+=1
dict_list[i][word]=k
print i
print dict_list[i]
dict_list.append(empt)