如何在python中比较这些字符串?

如何在python中比较这些字符串?,python,string,compare,hex,Python,String,Compare,Hex,我有以下字符串: 1679.2235398,-1555.40390834,-1140.07728186,-1999.85500108 我正在使用隐写术技术将其存储在图像中。现在,当我从图像中取回它时,有时我会以完整的形式取回它,我对此没有异议。在其他情况下,检索到的数据没有完全检索到(由于图像上发生了修改/更改),因此结果如下所示: 1679.2235398,-1555.I8\xf3\x1cj~\x9bc\x13\xac\x9e8I>[a\xfdV#\x1c\xe1\xea\xa0\x8

我有以下字符串:

1679.2235398,-1555.40390834,-1140.07728186,-1999.85500108
我正在使用隐写术技术将其存储在图像中。现在,当我从图像中取回它时,有时我会以完整的形式取回它,我对此没有异议。在其他情况下,检索到的数据没有完全检索到(由于图像上发生了修改/更改),因此结果如下所示:

1679.2235398,-1555.I8\xf3\x1cj~\x9bc\x13\xac\x9e8I>[a\xfdV#\x1c\xe1\xea\xa0\x8ah\x02\xed\xd1\x1c\x84\x96\xe2\xfbk*8'l
请注意,只有“1679.2235398,-1555.”被正确检索,而其余的是发生修改的地方。 现在,我如何计算(百分比)我成功检索到多少? 由于长度不同,我无法逐个字符进行比较,似乎需要将修改后的数据切片或转换为其他形式,以匹配原始数据的长度


有什么建议吗?

很多建议都取决于问题的背景,但这里有很多选择

如果您的结果总是这样,您可以找到,然后除以原始字符串的长度,得到一个百分比

是比较字符串的一种常用方法,是将一个字符串转换为另一个字符串所需更改的字符数。有几个答案讨论如何将其转化为百分比


如果你不希望字符串总是以相同的顺序出现,建议使用一些用于DNA工作的算法。

这在很大程度上取决于问题的背景,但你在这里有很多选择

如果您的结果总是这样,您可以找到,然后除以原始字符串的长度,得到一个百分比

是比较字符串的一种常用方法,是将一个字符串转换为另一个字符串所需更改的字符数。有几个答案讨论如何将其转化为百分比


如果你不希望字符串总是以相同的顺序出现,建议使用一些用于DNA工作的算法。。我的解决方案是这样的:

1679.2235398,-1555.I8\xf3\x1cj~\x9bc\x13\xac\x9e8I>[a\xfdV#\x1c\xe1\xea\xa0\x8ah\x02\xed\xd1\x1c\x84\x96\xe2\xfbk*8'l
我会从所有可能的最长字符串开始,检查它们是否在新字符串中

如果原始\u字符串在新\u字符串中:
“这里发生了一些事情”。

这将在一个循环中,该循环将减小原始字符串的大小,并获得所有可能的组合。因此,下一个将是
N-1
长的,并且有两个可能的组合(切断第一个数字或最后一个数字),依此类推,直到u达到特定阈值,或
1
长字符串
循环可以将您在if条件中的日志中找到的最长字符串存储起来,然后您可以检查结果。希望这能有所帮助。

这要看情况而定。。我的解决方案是这样的:

1679.2235398,-1555.I8\xf3\x1cj~\x9bc\x13\xac\x9e8I>[a\xfdV#\x1c\xe1\xea\xa0\x8ah\x02\xed\xd1\x1c\x84\x96\xe2\xfbk*8'l
我会从所有可能的最长字符串开始,检查它们是否在新字符串中

如果原始\u字符串在新\u字符串中:
“这里发生了一些事情”。

这将在一个循环中,该循环将减小原始字符串的大小,并获得所有可能的组合。因此,下一个将是
N-1
长的,并且有两个可能的组合(切断第一个数字或最后一个数字),依此类推,直到u达到特定阈值,或
1
长字符串
循环可以将您在if条件中的日志中找到的最长字符串存储起来,然后您可以检查结果。希望这能有所帮助。

使用输出中显示的原始字符串的百分比不起作用吗?不确定我是否明白你的意思,但我想要的是这样的:is 1=1,is 6=6,依此类推。使用输出中显示的原始字符串的百分比不起作用吗?不确定我明白你的意思,但我想要的是这样的东西:是1=1,是6=6,等等。看来这是一个很好的解决方法。非常感谢我将测试它。看来这是一个解决它的好方法。非常感谢我将测试它。非常有趣的方法。我将尝试这两种方法,看看结果如何。谢谢JERMVery有趣的方法。我将尝试这两种方法,看看结果如何。谢谢,杰姆