x1 = "abcdef"
x2 = "abdcfe"
x1 == x2 # return False
我的目标是找出这两个字符相同的字符串之间有多少个换位。在上面的例子中,有2或4取决于您如何查看它(仍然是偶数,因此任何一种方式都可以)。另一种方法是对字符串中的字符进行排序,然后进行如下比较:
x1s = ''.join(sorted(x1)) # 'abcdef'
x2s = ''.join(sorted(x2)) # 'abcdef'
x1s == x2s # returns True of course
这样,就失去了换位的数量。我想不出普通的Levenshtein有多大帮助,因为除了可用的相同字符外,使用其他字符进行编辑的数量具有相同的权重。e、 g
#pip install python-Levenshtein # you'll need this
from Levenshtein import distance
distance(x1, x2) # gives 3
distance(x1s, x2s) # gives 0
有什么想法吗
好的,我找到了答案,这里是:
这将返回换位计数
相关问题 更多 >
编程相关推荐