分割字节字符串并作为字节字符串返回

时间:2019-05-08 04:45:51

标签: python

  

编写一个名为div2bstr的函数,该函数接受一个字节字符串(bstr)并返回一个字节字符串。字节字符串中的每个字符都被2除(整数除法),然后组合成一个新的字节字符串。使用字符串和for循环返回新的字节字符串。

我尝试用空字符串实现此功能,然后使用for循环将其连接起来,但是我无法获得正确的答案。

def div2bstr(bstr):
    final_str = ''
    final_str += [i//2 for i in bstr]
    return final_str

呼叫div2bstr(b'Hello')时,预期结果为b'$2667'

运行我的软件时出现错误:

final_str += [i//2 for i in bstr]

TypeError: can't concat bytes to list

我知道当我i是整数时,这就是为什么它无法连接的原因,但是我不知道如何解决此问题并获得正确的结果。

1 个答案:

答案 0 :(得分:3)

将字节列表转换为bytes对象,您可以将整个函数体写在一行中。

def div2bstr(bstr):
    return bytes(i//2 for i in bstr)