import string
s = "".join([char for char in s if char not in string.punctuation])

above the last line. The results are then:

['golden', 'little', 'little']

Hope this works for you!

EDIT:

If you want to search the different lines separately, I would suggest a solution like this:

import string
def split_by_line_and_find_words_with_length(min, max, s):
#store result
result = []
# separate string lines
lines = s.splitlines()
for line in lines:
# remove punctuation
l = "".join([char for char in line if char not in string.punctuation])
# find words with length between a and b
find = [token for token in l.split(" ") if a <= len(token) <= b]
# add empty string to result if no match
if find == []: find.append("")
# add any findings to result
result += find
return result