我是靠谱客的博主 壮观溪流,最近开发中收集的这篇文章主要介绍【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进阶】大量浮点数数创建以及读写文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部