$ python -m timeit -s 'f = file("/tmp/numbers.txt")' '[float(line.partition(" ")[0]) for line in f]'
10000000 loops, best of 3: 0.123 usec per loop
$ python -m timeit -s 'f = file("/tmp/numbers.txt")' '[float(line.split(" ")[0]) for line in f]'
10000000 loops, best of 3: 0.132 usec per loop
$ python -m timeit -s 'f = file("/tmp/numbers.txt")' '[float(line.split(" ", 1)[0]) for line in f]'
10000000 loops, best of 3: 0.127 usec per loop
这取决于一旦创建了列表,您将如何处理它。如果您只是要遍历它,那么最好使用生成器表达式,这样就不会一次将整个文件加载到内存中。如果文件很大,这可能会导致页面交换或内存不足错误。在
我已经通读了你发布的相关问题,但看不到你试图解决什么问题,或者一旦你阅读了这些数据,你将如何处理这些问题。如果你给我们更多的背景,那么我们可能会给出更具体和有用的答案。在
有关速度的测量,请参见Python标准库模块timeit:
partition
似乎至少比split
快。我现在想不出更快的办法了,干得好。在更聪明的做法是不阴影
file
。在相关问题 更多 >
编程相关推荐