Проблема с вашим кодом в том, что вы не создаете и не добавляете элементы в вложенный список .Вот способ сделать это, адаптируя ваш код:
# Start by creating a nsted list the same length of a
b = [[] for _ in range(len(a))]
# [[], [], []]
# Do the same but instead appending the elements to the sublists
# in b using i as index
for i in range (0, len(a)):
c = a[i].split()
for j in d:
b[i].append(c.count(j))
print(b)
# [[0, 1, 0, 0, 0], [1, 1, 1, 0, 0], [1, 0, 1, 1, 1]]
Вы также можете использовать понимание вложенного списка для достижения этого:
[[j.split().count(i) for i in d] for j in a]
Вывод
[[0, 1, 0, 0, 0], [1, 1, 1, 0, 0], [1, 0, 1, 1, 1]]