Dropkick Punt wrote:
>>>> prefixes = [ "the", "this", "that", "da", "d", "is", "are", "r", "you", 
>>>> "u"]
> 
> And I have a string, that I split() into a list.
> 
>>>> sentence = "what the blazes is this"
>>>> sentence = sentence.split()
> 
> Now I want to strip the sentence of all words in the prefix list. 
> 
> I tried this method:
> 
>>>> for x in prefixes:
> ...             if sentence.index(x):
> ...             del sentence[sentence.index(x)]
> 
> 
> This raises, the error: 
> 
> Traceback (most recent call last):
>   File "<stdin>", line 3, in ?
> ValueError: list.index(x): x not in list
> 
> This puzzles me, because if x isn't in the list, the subroutine shouldn't 
> attempt to delete it
> from the list, so I'm not sure why it's complaining.

list.index raised ValueError, see error message.

> Can anybody explain this to me, &/or show me a better way to do it?

prefixes = set(prefixes)
sentence = [word for word in sentence.split() if word not in prefixes]

w.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to