我有两个:
ba1 = bytearray(b'abcdefg')
ba2 = bytearray(b'X')
如何在
bytearray
中插入(“prepend”)ba2
?我试着做:
ba1.insert(0, ba2)
但这似乎不对。
我当然可以这样做:
ba2.extend(ba1)
ba1 = ba2
但如果
ba1
很大呢?这是否意味着不必要地应对整个
ba1
?这个记忆有效吗?
我怎样才能预先设定a
ba1
? 最佳答案
你可以这样做:
ba1 = bytearray(b'abcdefg')
ba2 = bytearray(b'X')
ba1 = ba2 + ba1
print(ba1) # --> bytearray(b'Xabcdefg')
为了更清楚地表明在开始处插入的操作正在进行,您可以使用以下方法:
ba1[:0] = ba2 # inserts ba2 into beginning of ba1
还要注意的是,如果您知道
ba2
只有一个字节长,那么这将起作用:ba1.insert(0, ba2[0]) # valid only if len(ba2) == 1