以下 Python3 代码采用字节输入列表并打印出其十六进制“C 风格”表示形式,每行 12 个:
def c_array_body_from_bytes(input_bytes):
"""Emit the provided bytes as the body of a C array."""
lines = ""
for i in range(0, len(input_bytes), 12):
lines += "".join(f"0x{b:02x}, " for b in input_bytes[i : i + 12]) + "\n"
return lines
print(c_array_body_from_bytes(range(64)))
是否可以更简洁地表达为使用嵌套理解的单个返回语句,而不需要累加器lines
变量?如果是这样,它是什么样子的?
使用基于组合
str.join
s 的单个语句: