当前位置: 首页 > 面试题库 >

如何在Python中表示和使用n位向量?

鲜于仰岳
2023-03-14
问题内容

在当前的作业中,我需要处理位向量,但是我不确定如何在Python中执行此操作。它们应该能够从4位到20位。我以前从未使用过位向量,但是我猜想一个人会创建一个使用无与伦比的字节数组,这些数组是使用通常的AND
/ OR / XOR操作进行操作的。

这里的 重要限制 是:除了标准Python提供的库之外,我不能依赖 任何 其他库。

我想我知道如何使用8位无符号字节数组在C中做到这一点:例如,要将调零数组的第18位变成一个,我会做类似my_bit_array [3]&= 1 << 2

但是,由于Python是动态类型的,并且没有内置的数组类型,我将如何以pythonic的方式进行操作?

并且有可能(如何?)表示大小为20的位向量?我正在考虑制作24位/ 3字节向量,而忽略4位。


问题答案:

库BitVector是用于此目的的纯Python库,应符合您指定的需求。



 类似资料:
  • 问题内容: 如何用Python表示等效的枚举? 问题答案: 如PEP 435中所述,将枚举添加到Python 3.4中。它也已在pypi上反向移植到 和。 对于更高级的Enum技术,请尝试aenum库(2.7、3.3+,与作者相同enum34。py2和py3之间的代码并不完全兼容,例如,在python 2中需要)。 要使用enum34,做$ pip install enum34 要使用aenum,

  • 问题内容: 我主要是C#开发人员,但目前正在使用Python开发项目。 如何用Python表示等效的枚举? 问题答案: 如PEP 435中所述,将枚举添加到Python 3.4中。它也已在pypi上反向移植到3.3、3.2、3.1、2.7、2.6、2.5和2.4。 对于更高级的Enum技术,请尝试aenum库(2.7、3.3+,与作者相同。py2和py3之间的代码并不完全兼容,例如,您需要__or

  • 问题内容: 如何RDD使用分布式方法,IPython和Spark 查找整数的中位数?该元素约为700,000个元素,因此太大而无法收集和找到中位数。 这个问题类似于这个问题。但是,问题的答案是使用Scala,我不知道。 如何使用计算精确的中位数? 使用Scala答案的思想,我试图用Python编写类似的答案。 我知道我首先要排序。我不知道怎么。我看到了(按给定的排序)和(按RDD假定的()对组成的

  • 我在看霍夫变换Java留档。 返回值采用 数据类型,描述为: 线的输出向量。每条线由一个双元素向量(rho,theta)表示。Rho 是与坐标原点 (0,0)(图像左上角)的距离。θ是以弧度为单位的线旋转角度(0~垂直线,pi/2~水平线)。 奇怪的是,这个描述与C接口的描述相匹配,但数据类型不匹配:在C中,您可以使用

  • 问题内容: 我从一个需要标准输入重定向的Python项目开始,使用类似于以下的代码: 问题是,代码运行后,将显示以下内容: 输入内容:您输入的内容:Hello 有没有办法修改我的代码,以便显示以下内容? 输入内容:您好 您输入了:您好 我一直在搜寻高低,但尚未找到答案。如果有人有主意,我将不胜感激。谢谢! 问题答案: 我不确定为什么需要这样做,但是您可以始终这样做: 再说一次,根据需要交换自己的实

  • 我想在JAVA我的代码中使用SQLite显示表数据库中的数据: DIC是我的表,所以我如何在第N行显示值(例如:第2行,第3行,第..行)??? 具体地说,我希望根据需要打印出我的代码。谢谢你!