【问题标题】:Python: join two bytearray objectsPython:连接两个字节数组对象
【发布时间】:2021-01-30 04:30:58
【问题描述】:

我想将一个字节数组连接到另一个字节数组。我认为这可能有效:

byt1 = bytearray(10)
byt2 = bytearray(10)
byt1.join(byt2)
print(repr(byt1))

字节1.join(字节2)

TypeError: 序列项 0: 期望一个类似字节的对象,找到 int

实现这一目标的最有效方法是什么?

【问题讨论】:

  • byt1.extend(byt2)
  • @TomLynch 把它放在答案中,谢谢!
  • ps 我想我已经知道了!我现在想否决我的问题(facepalm)
  • 即使这样有效,它也不会做你想做的事:.join 方法会创建一个新对象,它不会执行就地突变。此外,.join 不会连接。考虑'abc'.join('123')

标签: python-3.x


【解决方案1】:

从两个创建一个新的组合字节数组:

byt_combined = byt1 + byt2

用另一个字节数组扩展一个字节数组。这改变了byt1

byt1.extend(byt2)

【讨论】:

  • 另外,byt1 += byt2 会做一个就地的.extend,但使用该方法的优点是它也会改变byt1 ,即使它不是本地的。
【解决方案2】:

您可以将一个字节加入如下数组:

    b"".join([bytearray(10), bytearray(10)])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多