我如何使用反斜杠分隔我的十六进制数字列表,就像我的图片上传一样?

How can I separate my hex numbers list using backslashes like my image upload?

我一直在开发一个小程序,以我无法计算出的格式打印出从 0 到 255 的十六进制值。我仍在学习,所以我确实需要有关如何使此代码更好并实现我的结果的建议。我尝试使用 join() 方法通过反斜杠分隔每个十六进制值,但因为我遍历列表,每个字符都被反斜杠,这不是我想要的。我上传了一张图片来展示我是如何输出十六进制值的。任何帮助深表感谢。

hex_chars1 = []
hex_chars2 = []

for i in range(0, 16):
    hex_chars1.append(i)

for j in range(16, 256):
    hex_chars2.append(j)

for char1 in hex_chars1:
    print("x0" + "{0:x}".format(char1))

for char2 in hex_chars2:
    print("x" + "{0:x}".format(char2))

您可以使用生成器表达式生成格式化值,然后 join() 它们:

print(''.join(fr'\x{i:0>2x}' for i in range(256)))

这应该是你想要的:

hex_chars = []

for i in range(0, 256):
    if i <16:
        hex_chars.append("\x0" + "{0:x}".format(i))
    else:
        hex_chars.append("\x" + "{0:x}".format(i))

    print(hex_chars[i],end="")

    if (i+1)%16==0:
        print("")