fastest way to merge lists.
Alex
alex at somewhere.round.here
Sat Jan 8 22:53:41 EST 2000
More information about the Python-list mailing list
Sat Jan 8 22:53:41 EST 2000
- Previous message (by thread): fastest way to merge lists.
- Next message (by thread): fastest way to merge lists.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
If speed is a big issue for you, might consider using Aaron Watters' kjbuckets extension. It provides a set type, and is supposed to be much faster than using dictionaries. (I believe the claim, but I've never tested it. I use it mainly so I don't have to write d[k]=None all the time.) I use it all the time for just the sort of thing you describe. See http://www.pythonpros.com/arw/kjbuckets/ Also, if you don't go that route, there may be some mileage in using operator.setitem. I suppose I should time it myself, since I'm suggesting it, but I can't be bothered. Something like import operator d={} l=list1+list2+list3+list4+list5 map(operator.setitem,len(l)*[d],l,len(l)*[1]) ...might be worth looking into. Oh, and another thing you could do is sort the whole lot, and run over them to pick out the first instance of each string: l=list1+list2+list3+list4+list5 l.sort() last=None merged=[] for element in l: if element!=last: merged.append(element) last=element Alex.
- Previous message (by thread): fastest way to merge lists.
- Next message (by thread): fastest way to merge lists.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list