Python字符串操作。将字符添加到第五位
我认为表达我的问题的最好方式是举一个例子: 我有一个十六进制数,比如说Python字符串操作。将字符添加到第五位,python,string,list,hex,Python,String,List,Hex,我认为表达我的问题的最好方式是举一个例子: 我有一个十六进制数,比如说2f。我想取这个十六进制数,在第五位放一个'9',然后是零。所以在这个例子中,我想要9002f。从这里我将把它转换回十进制 我在想,最好的方法是使用列表,并有一个['9'、'0'、'0'、'0'、'0']列表和一个['2'、'f']列表,然后以某种方式覆盖到9000个列表 你们觉得怎么样?为什么要进行字符串操作?听起来你想用十六进制数做数学题: h = '2f' h_int = int(h, 16) h_int += 0x90
2f
。我想取这个十六进制数,在第五位放一个'9',然后是零。所以在这个例子中,我想要9002f
。从这里我将把它转换回十进制
我在想,最好的方法是使用列表,并有一个['9'、'0'、'0'、'0'、'0']
列表和一个['2'、'f']
列表,然后以某种方式覆盖到9000个列表
你们觉得怎么样?为什么要进行字符串操作?听起来你想用十六进制数做数学题:
h = '2f'
h_int = int(h, 16)
h_int += 0x90000
如果确实需要获取字符串,则可以将其转换回字符串:
"%x" % h_int
为什么要进行字符串操作?听起来你想用十六进制数做数学题:
h = '2f'
h_int = int(h, 16)
h_int += 0x90000
如果确实需要获取字符串,则可以将其转换回字符串:
"%x" % h_int
做你想做的事
def fillhex(h, n, pos):
return n+h.zfill(pos-len(n))
正如@Nedbatcheld在他的回答中所显示的那样,有更简单的方法可以在基数之间转换。来做你想做的事
def fillhex(h, n, pos):
return n+h.zfill(pos-len(n))
尽管@Nedbatcheld在回答中指出,有更简单的方法可以在基数之间转换。有趣的要求,但这适用于可变位置:
>>> def place_n(a, b, pos):
return '{0}{1:0>{2}}'.format(a, b, pos - len(a))
>>> place_n('9', '2f', 5)
'9002f'
有趣的要求,但这适用于可变位置:
>>> def place_n(a, b, pos):
return '{0}{1:0>{2}}'.format(a, b, pos - len(a))
>>> place_n('9', '2f', 5)
'9002f'
如果数字已经是字符串形式,则转换为int、进行数学运算并再次生成字符串可能会较慢。如果数字已经是字符串形式,则转换为int、进行数学运算并再次生成字符串可能会较慢。