我是靠谱客的博主 壮观溪流,这篇文章主要介绍【python进阶】大量浮点数数创建以及读写文件,现在分享给大家,希望可以做个参考。

虽然列表灵活又简单,但是面对各种需求时,比如需要存放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进阶】大量浮点数数创建以及读写文件内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部