我怎样才能像上传图片那样使用反斜线来分隔我的十六进制数字列表?

问题描述 投票:0回答:2

我一直在研究一个小程序,以打印出0到255的十六进制值,格式我一直无法解决。我还在学习,所以我希望得到关于如何使这段代码更好的建议,并实现我的结果。我试着使用join()方法用反斜线分隔每个十六进制值,但由于我在列表中迭代,每个字符都被反斜线分隔,这不是我想要的。我上传了一张图片来展示我是如何输出十六进制值的。任何帮助是非常感激的。

enter image description here

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))
python-3.x hex separator
2个回答
2
投票

你可以使用一个生成器表达式来生成格式化的值,然后连接()它们。

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

1
投票

这应该是你想要的

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("")
© www.soinside.com 2019 - 2024. All rights reserved.