Hi Dick, You are deleting from the SAME list that you are traversing. This results in problems. You should just create a new list for the elements that are well-formed.
astr = ... lstA = ... def wellFormed(word) : for ch in word : if ch not in astr : return False return True final = [] for word in lstA : if wellFormed(word) : final.append(word) You can also look at documentation for filter function (which is now handled via list comprehension). finalList = filter( wellFormed, lstA ) or finalList = [ word for word in lstA if wellformed(word) ] HTH Aditya On 10/12/07, Dick Moores <[EMAIL PROTECTED]> wrote: > > Please see the code and it's output here: > <http://www.rcblue.com/Python/buggy_For_Web.py> > > > I'm attempting to eliminate the elements (strings) of lstA that are > not well-formed in that they contain at least one character that is > not in the string astr. > > Problems: > 1) If lstA[n] is removed, lstA[n+1] is skipped--isn't examined at > all, and remains in the final form of lstA whether well-formed or not. > > Using print statements is as far as my debugging skills go, so you > can see of bunch of them in the code. I did try to use winpdb for the > first time, but haven't figured it out yet. Ulipad now has it built > in, so I'd like to learn to use it it.. > > 2) I'm not able to get the "for char in wordWithCommas:" loop to stop > examining a wordWithCommas after it's word has been removed. I've > tried "continue" and "break" in various places to no avail. > > I'd appreciate some help. > > Thanks, > > Dick Moores > Win XP, Python 2.5.1 > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > -- Aditya
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor