bug: sort results from keyword search (#232)
* bug: sort results from keyword search * Auto-format code 🧹🌟🤖 --------- Co-authored-by: Formatter [BOT] <runner@fv-az1538-928.upsp13a5k4ou3ds4kr34xzh2lh.cx.internal.cloudapp.net>
This commit is contained in:
parent
44819de3a5
commit
6ed5d0cb5f
@ -116,12 +116,19 @@ def keyword_detection(user_input, str_list, n):
|
|||||||
else:
|
else:
|
||||||
remains.append(item)
|
remains.append(item)
|
||||||
|
|
||||||
|
matched = sorted(
|
||||||
|
matched,
|
||||||
|
key=lambda s: difflib.SequenceMatcher(None, s, user_input).ratio(),
|
||||||
|
reverse=True, # 降序排序,越相似的越靠前
|
||||||
|
)
|
||||||
|
|
||||||
# 如果 n 是 -1,如果 n 大于匹配的数量,返回所有匹配的结果
|
# 如果 n 是 -1,如果 n 大于匹配的数量,返回所有匹配的结果
|
||||||
if n == -1 or n > len(matched):
|
if n == -1 or n > len(matched):
|
||||||
return matched, remains
|
return matched, remains
|
||||||
|
|
||||||
# 随机选择 n 个匹配的结果
|
# 选择前 n 个匹配的结果
|
||||||
return random.sample(matched, n), remains
|
remains = matched[n:] + remains
|
||||||
|
return matched[:n], remains
|
||||||
|
|
||||||
|
|
||||||
def real_search(prompt, candidates, cutoff, n):
|
def real_search(prompt, candidates, cutoff, n):
|
||||||
|
Loading…
Reference in New Issue
Block a user