【发布时间】:2018-08-01 13:41:35
【问题描述】:
我有一个函数用于逐个字符地比较两个字符串并对其执行一些附加任务。我想修改它来比较十六进制数字。
例如:如果要比较 A = "hello",B = "himan"。我曾经运行for 循环并逐个字符进行比较。效果很好。
for x, y in zip(A, B):
if x == y:
do something
如何修改它以考虑十六进制数字。例如,如果A = "30303867" 和B = "3f160303",我想先匹配30 和3f,然后以此类推。通常,我只能通过3 匹配3 等等。
谢谢
【问题讨论】:
-
我宁愿不将我的输入转换为整数。就我而言,这并不总是可能的。
-
如果这些值是十六进制字符串,
int(hex_string, 16)将起作用。进一步的解释可以找到here -
@davideej 我可以知道为什么吗?如果无法将它们转换为
int,那么问题与比较hex值无关,而只是比较字符串。 -
@machnic 我想要一个通用的解决方案,因为输入也可以是字符串。
标签: python hex string-comparison