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

2024-10-05 10:46:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下字符串:

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.”被正确检索,而其余的是发生修改的地方。 现在,我如何计算(以百分比表示)我成功检索了多少? 由于长度不同,我无法逐个字符进行比较,似乎需要将修改后的数据切片或转换为其他形式,以匹配原始数据的长度。你知道吗

有什么建议吗?你知道吗


Tags: 数据字符串图像情况我会x13xacxf3
2条回答

那要看情况了。。我的解决方案如下:

我将从所有可能的最长字符串开始,并检查它们是否在新字符串中 if original_string in new_string: 'something happens here'. 这将在一个循环中,该循环将减小原始字符串的大小并获得所有可能的组合。所以下一个将是N-1长的,并且有两个可能的组合(切断第一个数字或最后一个数字),依此类推,直到你达到一个特定的阈值,或者1长的字符串。
循环可以将在if条件中的日志中找到的最长字符串存储起来,然后您就可以检查结果了。希望有帮助。你知道吗

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

如果您的结果总是这样,您可以找到longest common subsequence,然后除以原始字符串的长度,得到一个百分比。你知道吗

Levenshtein distance是比较字符串的常用方法,因为要将一个字符串转换为另一个字符串,需要更改的字符数。This question有几个答案讨论了如何将其转化为百分比。你知道吗

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

相关问题 更多 >

    热门问题