我想根據(jù)字典 D 將字符串 S 中的一些單詞更改為其他單詞。例如,對于 S 和 D 的以下值:S="I don't know, who you are?"D={"doesn't":"does not","don't":"do not"}我應(yīng)該得到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貢獻(xiàn)1842條經(jīng)驗 獲得超13個贊
您也可以檢查這一班輪答案:
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貢獻(xiàn)1818條經(jīng)驗 獲得超7個贊
如果該值不在字典中,則只需獲取該字符串值。
result?=?'?'.join(D.get(x,x)?for?x?in?S.split('?'))語法錯誤的原因[D[x] if x in D.keys() for x in L]是,如果沒有附帶條件,則if需要進(jìn)行后續(xù)操作。
- 2 回答
- 0 關(guān)注
- 244 瀏覽
添加回答
舉報
0/150
提交
取消
