【发布时间】:2021-01-22 05:44:00
【问题描述】:
我想尝试从我输入的两个数组中获取匹配值。我为此使用 Fuzzy。但我仍然无法获得该值,可能是因为输入表单是一个数组。请帮帮我:)
谢谢,如果我的问题不清楚,我很抱歉。谢谢你:)
a = [
[
"nyeri",
"tekan"
],
[
"nyeri",
"pada",
"kulit"
],
[
"demam"
]
]
b = [
[
"nyeri",
"tekan"
],
[
"pembengkakan",
"pada",
"kulit"
],
[
"demam",
"tinggi"
]
]
我尝试了以下代码:
c = []
for i in range(0, len(a)):
for j in range(0, len(b):
Matching = fuzz.ratio(a,b)
if len(a) == len(b) and Matching == 100:
c.append([a, 'value:', 1])
elif len(a) != len(b) and 90 <= Matching <= 99:
c.append([a, 'value:', 0.8])
elif len(a) != len(b) and 80 <= Matching <= 89:
c.append([a, 'value:', 0.7])
elif len(a) != len(b) and 70 <= Matching <= 79:
c.append([a, 'value:', 0.6])
elif len(a) != len(b) and 0 <= Matching <= 69:
c.append([a, 'value:', 0])
return jsonify(c)
预期结果:
[
[
"nyeri",
"tekan"
],
"value:", 1
[
"nyeri",
"pada",
"kulit"
],
"value:", 0
[
"demam"
],
"value:", 0
]
有人可以帮忙吗?
【问题讨论】:
-
有没有例子说明
value应该取一个不等于 1 或 0 的值? -
@TedBrownlow,像这样,值 = 72 或 0.6,
a = [ [ "thank", "you", "very", "much", "for", "your", "answer", ] ] b = [ [ "thank", "you", "very", "much", ] ]
标签: python fuzzywuzzy