我正在尝试在 python 中将一个字节数组的内容复制到另一个字节数组,但是我的代码bytearray1[:] = bytearray2,但这不起作用。是因为我用 初始化了第二个字节数组bytearray2 = bytearray(),因此bytearray2是空的吗?如果是这样,有没有办法初始化它,然后动态地将长度更改为我选择的整数?谢谢!
2 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
该行将bytearray2 = bytearray()
创建一个空字节数组。
当您使用bytearray1[:] = bytearray2
它分配时,会将 bytearray2 的值(即什么都没有)复制到 bytearray1。
这在我的机器上完美运行,并给我留下了 2 个空字节数组。
你期待会发生什么?
关于你的第二个问题:
b = bytearray() b = bytearray(100)
将首先创建一个空字节数组,然后创建一个长度为 100 的字节数组,初始化为 0。它可能是也可能不是同一个对象,但由于 python 缺少指针,它具有预期的效果。
人到中年有点甜
TA贡献1895条经验 获得超7个赞
python适用于引用我不确定你想要做什么,如果这是最好的方法:)也许你应该发布你的一些代码。
无论您寻求的答案可能是深拷贝。如果你想走这条路,我会检查复制和深度复制以确定你在做什么。 https://docs.python.org/3.6/library/copy.html
添加回答
举报
0/150
提交
取消