我想根據(jù)字典 D 將字符串 S 中的一些單詞更改為其他單詞。例如,對(duì)于 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]但這給出了語(yǔ)法錯(cuò)誤。請(qǐng)幫助我解決此錯(cuò)誤,以便我能夠獲得如上所示的所需輸出。如果這個(gè)問(wèn)題有更好的解決方案,請(qǐng)解釋一下。
2 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
您也可以檢查這一班輪答案:
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)驗(yàn) 獲得超7個(gè)贊
如果該值不在字典中,則只需獲取該字符串值。
result?=?'?'.join(D.get(x,x)?for?x?in?S.split('?'))
語(yǔ)法錯(cuò)誤的原因[D[x] if x in D.keys() for x in L]
是,如果沒(méi)有附帶條件,則if
需要進(jìn)行后續(xù)操作。
- 2 回答
- 0 關(guān)注
- 209 瀏覽
添加回答
舉報(bào)
0/150
提交
取消