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

2024-10-01 02:23:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个存储在变量中的模式列表

resultSynRealUni=["Adam went","Alex is in school", "John met Mark"]

假设“去”是“学校”和“标记”他们的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)

输出: 是 前

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


Tags: inforis模式placejohndictword
1条回答
网友
1楼 · 发布于 2024-10-01 02:23:29

考虑到你有:

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公司

相关问题 更多 >