MRAB:
> for line in open(path):
>     fields = line.split("\t")
>     data[tuple(fields[ : 2])] = fields[2 : ]

Keeping the key as a string may have some memory/performance
advantages (not tested):

for line in open(path):
    fields = line.split("\t")
    data[fields[0] + fields[1]] = map(float, islice(fields, 2, None))

Or probably faster (not tested):

for line in open(path):
    parts = s.rsplit("\t", 6)
    data[parts[0]] = map(float, islice(parts, 1, None))

Or (not tested):

for line in open(path):
    parts = s.rsplit("\t", 6)
    data[parts[0]] = [float(parts[i]) for i in xrange(1, 7)]

Having a built-in xsplit/xsplitr method here probably helps
significantly.
If the FP numbers are really precise then you can compare them as
strings too, but that's quite unsafe.

Bye,
bearophile
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to