2017-01-29 4 views
2

안녕 내 미리 정의 된 목록 (접두사) 내에 포함 된 모든 토큰을 제거하려고합니다. 아래는 내 코드이며 토큰을 제거하지 않습니다.특정 문자로 시작하는 토큰 제거

prefixes = ('#', '@') 
tokens = [u'order', u'online', u'today', u'ebay', u'store', u'#hamandcheesecroissant', u'#whoopwhoop', u'\u2026'] 

for token in tokens: 
    if token.startswith(prefixes): 
     tokens.remove(token) 

답변

3

목록을 반복하면서 목록에서 항목을 제거하는 것은 실제로 작동하지 않습니다.

당신은 지능형리스트

tokens = [token for token in tokens if not token.startswith(prefixes)] 

를 사용하거나 다른 목록을 작성하고 대신 그 목록에 유지하려는 항목을 추가 할 수 있습니다 :

new_tokens = [] 

for token in tokens: 
    if not token.startswith(prefixes): 
     new_tokens.append(token) 
+1

당신은 당신의 이전이를 추가 할 수 답을 두 개 만드는 대신 대답하십시오. –

+0

안녕하세요 @ 해럴드 나는 algo를 나열하는 위의 추가를 시도했지만 AttributeError 오류가 발생했습니다 : '유니 코드'객체에는 'append'속성이 없습니다. – shanky