使用循环Python3从列表中删除标点符号

时间:2014-02-21 16:44:00

标签: loops punctuation

所以我要做的是创建一个函数,该函数读取列表并使用循环创建没有标点符号的新列表。 到目前为止,我已经:

list=["This:","is","a","list."]
def depunctuate():
    for i in range(0,len(list),1):
        list1=""
        for j in range(0,len(list[i]),1):
            if(list[i][j] !=['(',')','?',':',';',',','.','!','/','"',"'"]):
                list1+=list1[i][j]
            cleanList+=[list1]
    return cleanList
depunctuate()

所以我要找的是“这是一个清单” 但是我得到了

Traceback (most recent call last):
  File "depunctuate.py", line 10, in <module>
    depunctuate()
  File "depunctuate.py", line 7, in depunctuate
    tokens1 += tokens1[i][j]
IndexError: string index out of range

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

clean_l = [s.strip(".:;,'\"?!/") for s in l]

这将删除前导和尾随标点字符。