在 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)
只需使用与常规字符串相同的方法即可。拆分并映射到int():
[int(v) for v in bytesvalue.split()]
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为bytes有许多相同的方法(包括bytes.split(), 并且int()类型接受bytes值的方式与接受值的方式相同str:
如果X不是数字或如果基给出,则X必须是一个字符串,
bytes或bytearray例如表示整数字面在基数基。
演示:
>>> 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)