我最近遇到了bytearray
在python中调用的dataType 。有人可以提供需要字节数组的方案吗?
Abytearray
与常规python字符串非常相似(str
在python2.x中,bytes
在python3中),但有一个重要区别,而字符串是
不可变的 ,bytearray
s是可变的,有点像list
单个字符串的a。
这很有用,因为某些应用程序使用字节序列的方式对不可变字符串的性能较差。当您在大块内存的中间进行许多小的更改时(例如在数据库引擎或图像库中),字符串的性能会很差。因为您必须复制整个字符串(可能很大)。
bytearray
的优点是可以进行这种更改而无需先复制内存。
但是实际上,这种特殊情况更多的是例外,而不是规则。大多数用途涉及比较字符串或字符串格式。对于后者,通常无论如何都会有一个副本,因此可变类型不会带来任何好处,而对于前者,由于不可变的字符串无法更改,因此您可以计算hash
字符串的a并进行比较,以作为按顺序比较每个字节的快捷方式,这几乎总是一个大胜利;因此,默认类型是不可变类型(str
或bytes
);这bytearray
是您需要的特殊功能时的例外。
问题内容: 我肯定会遗漏一些非常明显的东西,但是我搜索了所有内容,却找不到此方法。 问题答案: 使用Arrays实用程序类可以通过两种方法来完成此任务。 如果该数组未排序并且不是原始数组: 如果数组是原始数组且未排序,则应使用其他答案之一(例如KeremBaydoğan,Andrew McKinlay或Mishax)提供的解决方案。上面的代码即使theArray是原始代码也可能会编译(可能发出警告
问题内容: 我正在Python中测试vs。我不明白某些差异的原因。 一个迭代器返回的字符串: 给出: 但是迭代器返回s: 给出: 为什么会有所不同? 我想编写可以很好地转换为Python 3的代码。那么,Python 3中的情况是否相同? 问题答案: 在Python中,2.6字节只是str的别名 。 引入此“伪类型”是为了(部分地)准备要与Python 3.0转换/兼容的程序(和程序员!),在Py
问题内容: 如何在Python中表示字节数组(如Java中的byte [])?我需要使用gevent通过电线发送它。 问题答案: 在Python 3中,我们使用对象,在Python 2中也称为。 我发现使用该模块更方便… 您还可以使用文字…
我不太精通Java,所以请保持简单。不过,我会尽力理解你发布的所有内容。这是我的问题。 我已经编写了代码来记录来自外部麦克风的音频并将其存储在. wave中。存储此文件与存档目的相关。我需要做的是对存储的音频进行FFT。 我的方法是将wav文件作为字节数组加载并对其进行转换,问题是1。我需要摆脱一个标题,但我应该能够做到这一点和2。我得到了一个字节数组,但是我在网上找到的大多数(如果不是全部)FF
问题内容: 可以在mongo db中像在SQL中那样选择集合的文档: 还是如果我有一个我必须一个一个地选择,然后重新组合结果? 问题答案: 简单 :) 摘自:http : //www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24in
问题内容: 我正在尝试创建字典扩展,其中字典的类型为 。 在很多地方都在寻找并尝试了不同的方法,但是似乎没有一个可行。这是其中之一: 由于某种原因实际上不起作用的另一种方法: 得到: 参数类型“字典”与预期类型的“ AnyObject”不符 问题答案: > = 3.1 从3.1开始,我们可以进行具体扩展,即: <3.1 我们无法使用具体泛型来实现具体类型,即: 但是,由于Dictionary符