【发布时间】:2020-08-10 22:15:05
【问题描述】:
我有一个字符串列表['49275', '49287', '69674', '43924']
我想看看它们与某个值有多相似(比如说'49375' 但是一旦存在差异,超出差异的所有内容都需要算作不相似(即使它们是相似的)
所以'49375' 和'49275' 的相似度应该是 0.4 而不是 0.8
我尝试了下面的代码,但我被难住了,一定有更好的方法。
l = ['49275', '49287', '69674', '43924']
x = '49375'
listy = []
for i in l:
for n in range(len(x)):
if x[n] == i[0][n]:
listy.append((n+1)/len(x))
if x[n] != i[0][n]:
break
我希望输出是一个相似性数字列表,即:[0.4, 0.4, 0, 0.2]
谢谢!
【问题讨论】:
-
请提供预期的minimal, reproducible example。显示中间结果与您的预期不同的地方。 “我被难住了”不是问题规范:向我们展示您的输出,以及您的内部流程与您的预期有何不同。
标签: python string for-loop similarity