Hi, I am migrating from PHP to Python and I am slightly confused.

I am making a function that takes a startingList, finds all the strings in the 
list that begin with 'x', removes those strings and puts them into a xOnlyList.

However if you run the code you will notice only one of the strings beginning 
with 'x' is removed from the startingList.
If I comment out 'startingList.remove(str);' the code runs with both strings 
beginning with 'x' being put in the xOnlyList.
Using the print statement I noticed that the second string that begins with 'x' 
isn't even identified by the function. Why does this happen?

def testFunc(startingList):
        xOnlyList = [];
        for str in startingList:
                if (str[0] == 'x'):
                        print str;
                        xOnlyList.append(str)
                        startingList.remove(str) #this seems to be the problem
        print xOnlyList;
        print startingList
testFunc(['xasd', 'xjkl', 'sefwr', 'dfsews'])

#Thanks for your help!
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to