我想通過將字符串拆分爲列表並對其進行迭代來替換字符串中的字符。在一次運行中替換字符串中的所有字符
我已經爲需要用值替換的所有鍵創建了字典。
dicta = {
"eq" : "=",
"gt" : ">",
"lt" : "<"
}
s = "name eq 'alex' and age gt 36"
[s.replace(char, dicta.get(char)) for char in s.split(" ") if char in dicta ]
上述解決方案給我的輸出:
["name = 'alex' and age gt 36", "name eq 'alex' and age > 36"]
這是因爲我創造一個字符改變後的整個字符串。
預期輸出:["name = 'alex' and age > 36"]
我怎麼能做到這一點的只有一個運行?
字典中單詞的長度可能不總是2。 – bhansa
對於這種情況下,你可以用''''.join(dicta.keys()')替換模式,如 – Skycc
感謝您的努力,這也將'equity'替換爲'= uity'。我認爲循環是 – bhansa