2014-02-21 1 views
0

그래서 내가하려는 것은 루프를 사용하여 구두점을 사용하지 않고 목록을 읽고 새로운 목록을 만드는 함수를 만드는 것입니다. 는 지금까지 내가 가지고 : 그것을 반환 할루프 - 파이썬 3을 사용하여 목록에서 구두점 제거하기

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 

얻고있다 "이것은 목록입니다"입니다 , 감사!

답변

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

이렇게하면 앞과 뒤에 구두점 문자가 제거됩니다.

+0

나는 그것이 더 복잡하고 불필요하다는 것을 알고 있지만 실제로는 루프를 사용해야한다. 내 CS150 클래스의 프로젝트에 대한 – user3338100