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