如何在 Python-3 中将字节拆分为整数列表?

Rij*_*iju -1 split python-3.x

在 Python-3 中将以下字节数组转换为整数列表的 Pythonic 方法是什么:

Input: b'34\n44\n-28\n-63\n22\n'

Desired output: [34, 44, -28, -63, 22]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

只需使用与常规字符串相同的方法即可。拆分并映射到int()

[int(v) for v in bytesvalue.split()]
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为bytes有许多相同的方法(包括bytes.split(), 并且int()类型接受bytes值的方式与接受值的方式相同str

如果X不是数字或如果给出,则X必须是一个字符串,bytesbytearray例如表示整数字面在基数

演示:

>>> bytesvalue = b'34\n44\n-28\n-63\n22\n'
>>> bytesvalue.split()
[b'34', b'44', b'-28', b'-63', b'22']
>>> [int(v) for v in bytesvalue.split()]
[34, 44, -28, -63, 22]
Run Code Online (Sandbox Code Playgroud)