我有一个存储在变量
中的模式列表resultSynRealUni=["Adam went","Alex is in school", "John met Mark"]
让我们假设"去了#34; &安培; "是" &安培; "学校"和#34;马克"他们的dict低于4(某个阈值)
所以我希望输出
finalPatternSynReal=["Adam ","Alex in ", "John met "]
我尝试了这个,但由于某些原因它不能正常工作
finalPatternSynReal=[]
for place in resultsSynRealUni:
for word in place.strip().split():
wordUni=u"" + u"".join(word) + u""
if dict[wordUni] <= 4:
place=place.replace(wordUni,"").strip()
finalPatternSynReal.append(place)
print("Final Pattern is")
print(finalPatternSynReal)
输出: 上午 前
注意:在我的代码中,我使用的是阿拉伯语而不是英语。
答案 0 :(得分:0)
考虑到你:
resultSynRealUni=["Adam went","Alex is in school", "John met Mark"]
和scores
词典如下:
scores = { "went": 1, "is": 2, "school": 3, "Mark": 2 }
你想要的是:
finalPatternSynReal = []
for statement in resultSynRealUni:
out_stmt = []
for token in statement.strip().split():
if not (token in scores.keys() and scores[token] <= 4):
out_stmt.append(token)
finalPatternSynReal.append(" ".join(out_stmt))
结果:
>>> finalPatternSynReal
['Adam', 'Alex in', 'John met']
(很抱歉这个解决方案简短而直截了当,但我在家里有一些朋友,我花了5分钟回答你的问题;-))
HTH