有人可以看看下面的代码,然后告诉我我在做什么错。我只是想根据某些条件返回一个值,但收到一条错误消息
combo_pairs = [ ['Eat at Joes', 'Eat my shorts'], ['Eat well', 'Eat mamas pies'] ]
def Jaccard_Sim(pair):
"""return Jaccard Similarity Index for similarity between two sentences"""
chars0 = set(pair[0])
chars1 = set(pair[1])
ratio = float(len(chars0.intersection(chars1))) / \
len(chars0.union(chars1))
print(chars0, chars1, ratio)
return (ratio > 0.66)
sim_list = (Jaccard_Sim(pair) for pair in combo_pairs)
print(list(sim_list))
但是我的返回类型是可为null的int,因此它不应该同时允许null和int值。
{'s', 'E', 'o', 'e', 'J', ' ', 't', 'a'} {'s', 'E', 'y', 'r', 'o', ' ', 'h', 't', 'm', 'a'} 0.5
{'E', 'e', ' ', 'l', 't', 'a', 'w'} {'s', 'E', 'p', 'e', ' ', 'i', 't', 'm', 'a'} 0.45454545454545453
[False, False]