用空格分隔的四位十六进制表示计数变量

0 投票
1 回答
1674 浏览
提问于 2025-04-20 20:12

我需要一种方法,把一个整数 i 转换成4位的十六进制表示,并且在第二位后面加一个空格。例如:

for i in range(1,10):
    print insert_magic(i)

转换后应该是这样的:

00 01
00 02
00 03
...

我已经实现了4位的表示,但没有空格,代码是:

print format(i,'04x')

1 个回答

1

试试这个方法

for i in range(15):
    print '{}{} {}{}'.format(*format(i, '04x')) # 

这个方法可以把十六进制字符串拆开,我们可以实现这个功能

它是怎么工作的呢。

  1. format(i, '04x') --> 这会生成一个4位的十六进制字符串
  2. 想象一下,如果有个字符串 str='abcd',那么 *str=['a','b','c','d'],同样的,0001 就变成了 ['0','0','0','1']
  3. 现在我们把这个列表拆开,把每个值放到 {}

撰写回答