s = ['Hello', 'world', '!', 'How', 'are', 'you', '?', 'Have', 'a', 'good',
    'day', '.']
letters = ['!', '?', '.']
idxes = [idx for idx, val in enumerate(s) if val in letters]
idxes = [-1] + idxes
answer = [s[idxes[i] + 1:idxes[i + 1] + 1] for i in range(len(idxes[:-1]))]
print(answer)
Python: List containing sublist of strings