这是我第一次在这里问问题,我对此很陌生,所以我会尽力而为。我有一个短语列表,我想消除所有类似的短语,例如:
array = ["A very long string saying some things",
"Another long string saying some things",
"extremely large string saying some things",
"something different",
"this is a test"]
我想要这个结果:
array2 = ["A very long string saying some things",
"something different",
"this is a test"]`
我有这个:
for i in range(len(array)):
swich=True
for j in range(len(array2)):
if (fuzz.ratio(array[i],array2[j]) >= 80) and (swich == True):
swich=False
pass
if (fuzz.ratio(array[i],array2[j]) >= 80) and (swich == False):
array2.pop(j)
但它给了我清单IndexError
......
fuzzy.ratio
比较两个字符串并给出 0 到 100 之间的值,越大,字符串越相似。
我要做的是逐个元素比较列表,第一次找到两个相似的字符串时,只需打开开关并传递,从那时起,每个相似的发现,弹出array2
. 我完全愿意接受任何建议。