我有一个函数,用来逐个字符比较两个字符串,并对其执行一些附加任务。我想修改它来比较十六进制数。在
例如:如果A = "hello"
,B = "himan"
要进行比较。我曾经运行一个for
循环,逐个字符比较。效果很好。在
for x, y in zip(A, B):
if x == y:
do something
如何修改它以考虑十六进制数。例如,如果A = "30303867"
和B = "3f160303"
,我想先将30
与{}匹配,然后依此类推。通常,我只能通过3
来匹配3
,依此类推。
谢谢
Tags:
如果我没听错的话,您有两个字符串},但是您希望将这些字符串解释为十六进制数字对而不是字符。但不考虑这些数字的整数值。这相当于比较字符对,因为它们是十六进制数字,所以需要进行不区分大小写的比较,因为当考虑为十六进制值时,1F和1F相等。在
A
和{这将把你的字符串分割成成对的字符:
然后你就可以
^{pr2}$不过,我不明白你反对转换成整数。你知道Python中的整数可以任意大吗?在
要将Python中整数的十六进制数字作为字符串,可以使用
'{:x}'.format(number)
。格式说明符中的:x
在十六进制格式中表示(不带0x)。在然后可以使用十六进制表示的字符串代码。在
(旁注:这也可以用printf样式的格式
%x
来实现)因为您不想转换成整数,所以您可以做的最简单的事情就是一次迭代两个字符串。在
相关问题 更多 >
编程相关推荐