Python改变字节数组的长度

我正在尝试在 python 中将一个字节数组的内容复制到另一个字节数组,但是我的代码bytearray1[:] = bytearray2,但这不起作用。是因为我用 初始化了第二个字节数组bytearray2 = bytearray(),因此bytearray2是空的吗?如果是这样,有没有办法初始化它,然后动态地将长度更改为我选择的整数?谢谢!



青春有我
浏览 287回答 2
2回答

慕尼黑8549860

该行将bytearray2 = bytearray()创建一个空字节数组。当您使用bytearray1[:] = bytearray2它分配时,会将 bytearray2 的值(即什么都没有)复制到 bytearray1。这在我的机器上完美运行,并给我留下了 2 个空字节数组。你期待会发生什么?关于你的第二个问题:b = bytearray() b = bytearray(100)将首先创建一个空字节数组,然后创建一个长度为 100 的字节数组,初始化为 0。它可能是也可能不是同一个对象,但由于 python 缺少指针,它具有预期的效果。

人到中年有点甜

python适用于引用我不确定你想要做什么,如果这是最好的方法:)也许你应该发布你的一些代码。无论您寻求的答案可能是深拷贝。如果你想走这条路,我会检查复制和深度复制以确定你在做什么。 https://docs.python.org/3.6/library/copy.html
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python