我如何使用反斜杠分隔我的十六进制数字列表,就像我的图片上传一样?
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("")
我一直在开发一个小程序,以我无法计算出的格式打印出从 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("")