Possible Duplicate:
Remove items from a list while iterating in Python
I want to remove all the dates in a list which are later than a given date. I can't see why my method only removes some items of the list. Here's what I've got:
import datetime
import numpy as np
import os
list_dates = [datetime.date(2012,1,3), datetime.date(2012,1,1), datetime.date(2012,1,5), datetime.date(2013,1,3), datetime.date(2013,1,1)]
for item in list_dates:
if item > datetime.date(2012,1,1):
list_dates.remove(item)
print list_dates
returns
[datetime.date(2012, 1, 1), datetime.date(2013, 1, 3)]