我有一个字节数组,我想在其中复制给定值的所有出现。
我目前拥有的解决方案确实有效,但是我确信必须有一种更优雅的方法。但是如何?
x = bytearray([0x01, 0x02, 0x03, 0xff, 0x04, 0x05])
r = 0xff
skip = False
for i, v in enumerate(x):
if skip:
skip = False
continue
if v == r:
x.insert(i, r)
skip = True
print(x)
bytearray(b'\x01\x02\x03\xff\xff\x04\x05')
您可以通过.replace
以下方式将方法用于此任务:
x = bytearray([0x01, 0x02, 0x03, 0xff, 0x04, 0x05])
r = b'\xff'
dx = x.replace(r, r*2)
print(dx)
输出:
bytearray(b'\x01\x02\x03\xff\xff\x04\x05')
.replace
的bytearray
名称与str
方法相同。注意,它r
应该像字节一样,所以我使用bytes
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句