我想根據字典 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條經驗 獲得超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貢獻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 關注
- 191 瀏覽
添加回答
舉報
0/150
提交
取消