概述
虽然列表灵活又简单,但是面对各种需求时,比如需要存放1000万个浮点数的话,数组(array)的效率要高的多。因为数组背后存的并不是float对象,而是数字的机器翻译,也就是字节表述。
例如下面这个代码:
from array import array
from random import random
floats = array('d', (random() for i in range(10**7)))
print(floats[0], floats[-1])
fp = open('floats.bin', 'wb')
floats.tofile(fp)
fp.close()
floats2 = array('d')
fp = open('floats.bin', 'rb')
floats2.fromfile(fp, 10**7)
fp.close()
print(floats2[0], floats2[-1])
array的数据类型:
运行之后结果如图:
运行之后可以看到,速度非常快。用array.fromfile从一个二进制文件里读出1000万个双精度浮点数只需要0.1秒,这比从文本文件读取速度快60倍。array.tofile写入到二进制文件,也比文本文件快7倍。
最后
以上就是壮观溪流为你收集整理的【python进阶】大量浮点数数创建以及读写文件的全部内容,希望文章能够帮你解决【python进阶】大量浮点数数创建以及读写文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复