python - Compare lists - delete list where id = id and date > date -
i have list of lists
[['id', 'fname', 'lname', 'gender', 'startdate'], ['100', 'john', 'jackson', 'm', '08/09/2000'], ['101', 'jenny', 'hobbs', 'f', '01/13/1995'], ['100', 'john', 'jackson', 'm', '08/09/1995']]
i delete duplicate lists id == id , startdate < startdate. leaving lists unique ids have recent startdate.
[['id', 'fname', 'lname', 'gender', 'startdate'], ['100', 'john', 'jackson', 'm', '08/09/2000'], ['101', 'jenny', 'hobbs', 'f', '01/13/1995']]
any great
stuff rows dictionary id after sorting them in date order. thing have remove header before using this.
import time data = [['100', 'john', 'jackson', 'm', '08/09/2000'], ['101', 'jenny', 'hobbs', 'f', '01/13/1995'], ['100', 'john', 'jackson', 'm', '08/09/1995']] data = sorted(data, key=lambda x:time.strptime(x[4], '%m/%d/%y')) # sort data in ascending date order keys = [x[0] x in data] print keys d = dict(zip(keys,data)) # add dictionary ... recent values overwrite older ones print d.values()
generates output:
[['100', 'john', 'jackson', 'm', '08/09/2000'], ['101', 'jenny', 'hobbs', 'f', '01/13/1995']]
Comments
Post a Comment