gpt4 book ai didi

Python Sequencematcher 给出不完全匹配

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:47 25 4
gpt4 key购买 nike

我正在尝试使用 Python 的 SequenceMatcher 查找两个字符串之间的匹配 block 。字符串为 "ABCDPQRUVWXYZ""PQRABCDUVWXYZ"。但是,当我应用 get_matching_blocks() 时,找不到字符串 "PQR" 作为匹配 block 。

from difflib import SequenceMatcher

str1 = "ABCDPQRUVWXYZ"
str2 = "PQRABCDUVWXYZ"

matchAll = SequenceMatcher(None, str1, str2, False).get_matching_blocks()

for i in range(0, len(matchAll)):
print(str1[matchAll[i].a: matchAll[i].a + matchAll[i].size])

最佳答案

docs声明:

get_matching_blocks()

Return list of triples describing matching subsequences. Each triple is of the form (i, j, n), and means that a[i:i+n] == b[j:j+n]. The triples are monotonically increasing in i and j.

如果函数返回"PQR"在您的示例中,j不会单调递增,因为它会从 "A" 开始索引 "ABCD"匹配,返回"P"索引 "PQR"匹配。

关于Python Sequencematcher 给出不完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41215615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com