это результат от вашего заданного ввода до желаемого результата
wordOccur = ['tears', 1, 'go', 1, 'i', 4, 'you', 7, 'love', 2, 'when', 3]
result = []
for index in range(0, len(wordOccur),2):
tmp = [wordOccur[index], wordOccur[index+1]]
result.append(tmp)
print(result) # [['tears', 1], ['go', 1], ['i', 4], ['you', 7], ['love', 2], ['when', 3]]
# or
result2 = [ [a,b] for a,b in zip(wordOccur[0::2], wordOccur[1::2])]
print(result2) # [['tears', 1], ['go', 1], ['i', 4], ['you', 7], ['love', 2], ['when', 3]]
Допустим, ваши ключевые слова содержат все ключевые слова, выпущенные к стихотворению, и не имеют частоты на них, поэтому в этом случае вы можете использовать counter
keywords = [] # your word list
from collections import Counter
result_freq = Counter(keywords)
result_list_of_list = [[k,v] for k,v in result_freq.items()]