On Wed, 23 Mar 2005 23:27:54 +0100, Gabriel F. Alcober <[EMAIL PROTECTED]> wrote:

Hi! There goes a newbie trouble:

for i in range(0, len(subject)):
        if subject[i] in preps:
            psubject.append(noun_syn_parser(subject[0:i]))
            subject[0:i] = []

Since the last line eliminates some elements of the list, I'm wondering if it's somehow possible to change the value of "i" to 0 in order not to get an index error. Any other ideas?

Messing with the list/index concerned within the loop itself is rarely a good idea and can most often be avoided:


lastFound = 0
for i in range(0, len(subject)):
if subject[i] in preps:
psubject.append(noun_syn_parser(subject[lastFound:i]))
lastFound = i #you probably want i+1 here? your source says i, however


#if having the subject list matters, you can finish it all outside the loop with
subject[0:lastFound] = []



HTH Mitja -- http://mail.python.org/mailman/listinfo/python-list

Reply via email to