python – 将变量存储为单个位

编程之家收集整理的这篇文章主要介绍了python – 将变量存储为单个位编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在过去的几周里,我一直致力于制定一个能够使主要螺旋尽可能高效的程序.我研究了多线程以提高程序的速度,现在我遇到了一个新问题.我的素数列表的长度为6400万和零,这个列表占用240MB的内存.因为我使用多处理(总共5个进程),我的脚本最多使用总共1.1GB的ram,如果达到这一点,则返回内存错误.

关于我如何存储素数的一些背景信息:质数存储在列表中,每次我找到素数时,我将值设置为1(例如:Primes [13] = 1(因为它是素数)和Primes [14] = 0).对我来说这似乎是最好的解决方案,因为列表不会占用大量内存

经过一些基本的数学计算后,我得出结论,我的素数列表中的每个零或一个占用4个字节(32位)的信息.这似乎是合乎逻辑的,但我想知道是否有办法将零和1存储为单个位,因此它不会占用太多内存.

提前感谢您的任何答案,
问候,伤害

最佳答案
如果每0或1取32位,则表示它的字符(可能是整数?)数组.您应该使用布尔类型(bool).最简单的方法是使用bitarray.其中一个实现:

https://pypi.python.org/pypi/bitarray/0.8.1

总结

以上是编程之家为你收集整理的python – 将变量存储为单个位全部内容,希望文章能够帮你解决python – 将变量存储为单个位所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群
编程之家官方2群
编程之家官方3群
编程之家官方4群

相关文章

猜你在找的Python相关文章

Windows 64 位开发环境 注意:本教程适用于 Windows 7 64 位操作系统 及 Windows 10 64 位操作系统,其他系统尚未经过校验。 安装 IDE PyCharm 下载:ht
本文主要解决问题为python中的pygame库安装 安装包版本:python-3.4.3.amd64.msi 下载链接:https://pan.baidu.com/s/1_jIRdVugSNzXKb
之所以会写下这篇日志,是因为安装的过程有点虐心。目前这篇文章是针对windows操作系统上的mysqldb的安装。安装python的mysqldb模块,首先当然是找一些官方的网站去下载:https:/
问题描述: pip instal MySQL-python 出现如下错误: 运行环境: python 2.7.10 setuptools 41.0.1 pip 19.1 操作系统:Windows7 6
mac里面python自带easy_install,在终端里面执行sudo easy_install pip。运行完可以用pip help测试一下是否安装成功,成功安装后,直接pip install
(1)django2.0把from django.core.urlresolvers修改成了django.urls 异常信息: 解决方案: (2)django2.1.1中需要给外键指定on_delet
群里看到有人询问:谁会用python将微信音频文件后缀m4a格式转成mp3格式,毫不犹豫回了句:我会。然后就私下聊起来了 解决方法介绍如下: 工具:windows系统,python2.7,转换库ffm
一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据。比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注