我想根据字典 D 将字符串 S 中的一些单词更改为其他单词。例如,对于 S 和 D 的以下值:S="I don't know, who you are?"D={"doesn't":"does not","don't":"do not"}我应该得到S="I do not know, who you are?"为此,我编写以下代码:L=str.split(' ')index = [D[x] if x in D.keys() for x in L]但这给出了语法错误。请帮助我解决此错误,以便我能够获得如上所示的所需输出。如果这个问题有更好的解决方案,请解释一下。
2 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
您也可以检查这一班轮答案:
S="I don't know, who you are?"
D={"doesn't":"does not","don't":"do not"}
result = ' '.join(map(lambda x: D[x] if D.get(x) else x, S.split()))
print(result)
输出:
'I do not know, who you are?'
qq_笑_17
TA贡献1818条经验 获得超7个赞
如果该值不在字典中,则只需获取该字符串值。
result = ' '.join(D.get(x,x) for x in S.split(' '))
语法错误的原因[D[x] if x in D.keys() for x in L]
是,如果没有附带条件,则if
需要进行后续操作。
- 2 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消