python - Removing white spaces and punctuation from list -
def wordlist (l: list) -> list:     '''returns wordlist without white spaces , punctuation'''     result = []     table = str.maketrans('!()-[]:;"?.,', '            ')     x in l:         n = x.translate(table)         n = x.strip()         n = x.split()         if n != []:             result.extend(n)     return result   the function supposed work this:
print(wordlist(['  testing', '????', 'function!!']))   should yield:
['testing', 'function']   but code have above yields:
['testing', '??', 'function!!']   so assume i'm doing incorrectly code in regards removing punctuation--where should fix it? other suggestions simplify code appreciated (since figured it's bit long-winded).
did mean chain translate(table), strip() , split() calls?
then
n = x.translate(table) n = x.strip() n = x.split()   should be
n = x.translate(table) n = n.strip() # change x n n = n.split() # same here   or
n = x.translate(table).split()   no need intermediate strip().
as further simplification, don't have check emptiness of n, looks premature optimization me:
if n != []: # can remove line     result.extend(n)   the result:
def wordlist (l: list) -> list:     '''returns wordlist without white spaces , punctuation'''     result = []     table = str.maketrans('!()-[]:;"?.,', '            ')     x in l:         result.extend(x.translate(table).split())     return result   you can replace loop list comprehension.
Comments
Post a Comment