根据Python中的dict值从字符串数组中删除单词?

时间:2016-03-05 19:24:31

标签: python

我有一个存储在变量

中的模式列表
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)

输出: 上午 前

注意:在我的代码中,我使用的是阿拉伯语而不是英语。

1 个答案:

答案 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