*sigh* Ignore folks. I had forgotten about .has_key().
On Dec 28, 2007 11:22 AM, doug shawhan <[EMAIL PROTECTED]> wrote: > I'm building a dictionary from a list with ~ 1M records. > > Each record in the list is itself a list. > Each record in the list has a line number, (index 0) which I wish to use > as a dictionary key. > > The problem: It is possible for two different records in the list to share > this line number. If they do, I want to append the record to the value in > the dictionary. > > The obvious (lazy) method of searching for doubled lines requires building > and parsing a key list for every record. There must be a better way! > > dict = {} > for record in list > if record[0] in dict.keys (): > dict[ record[0] ].append( record ) > else: > dict[ record[0] ] = [record] > > Once you get ~ 80,000 records it starts slowing down pretty badly (I would > too ...). > > Here's hoping there is a really fast, pythonic way of doing this! >
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor