On Dec 28, 2007, at 11:29 AM, doug shawhan wrote:
*sigh* Ignore folks. I had forgotten about .has_key().
.has_key() is deprecated in 2.6 and goes away in 3.0 IIRC
You should use
record in D
or
D.get(record)
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
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor