【发布时间】:2021-04-06 11:14:13
【问题描述】:
我的输入是一个单词列表。如["love", "sky", "NOT_movie"], ["NOT_house", "NOT_CAR"]。我想做的是,对于这个单词列表,如果单词以“NOT_”开头,我给它打-1,如果它不是以“NOT_”开头的单词,我给它打+1。我的预期结果是一个列表,其中包含我初始列表中每个集合的分数
我有以下代码,应该根据以下条件通过添加 +=1 来计算分数
for i in range(len(temp2)):
for j in range(len(temp2[i])):
if temp2[i][j] in lex2:
if "NOT_" in list_test_data2[i][j]:
value = lex2[str(temp2[i][j])] * (-1)
print(value)
else:
value = lex2[str(temp2[i][j])]
print(value)
if value == 1 :
count_pos+=1
elif value == -1 :
count_neg+=1
list_scores2.append((count_pos - count_neg)/(count_pos + count_neg + 2))
count_pos=0
count_neg=0
但是,当打印 list_scores2 我有以下输出
print(list_scores2)
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
我做错了什么?
【问题讨论】:
-
你能告诉我们输入数据吗?还有你想用代码实现的目标(输出)
-
压痕看起来坏了。您应该提供一个我们可以运行的minimal reproducible example。 IE。您应该提供一些硬编码数据供我们运行示例。
-
@VedankPande 我的输入是一个单词列表。如["love", "sky", "NOT_movie"], ["NOT_house", "NOT_CAR"]。我想做的是,对于这个单词列表,如果单词以“NOT_”开头,我给它打-1,如果它不是以“NOT_”开头的单词,我给它打+1。我的预期结果是一个列表,其中包含我初始列表中每个集合的分数。
-
好的,那个列表是
temp2?lex2和list_test_data2呢? -
样本输入/输出可能吗?