Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python字符串操作。将字符添加到第五位_Python_String_List_Hex - Fatal编程技术网

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、进行数学运算并再次生成字符串可能会较慢。