對不起,如果這之前已經問過,我看了也找不到它。替換字符串上的字符
我被要求做一個算法來改變一個字符串上的字符。這裏有一個例子:
ABC
高清
我想機會,每一個 'a' 到 'd',每個 'D' 到 'A',每個 'B' 到 'E',每個'e'到'b'等等。所以如果我的輸入是「abc def」,我的輸出是「def abc」。
我想:
def change(string, dic):
for i, c in dic.iteritems():
string = string.replace(i, c)
return string
dic = {'a':'d','b':'e','c':'f',
'd':'a','e':'b','f':'c'}
string = 'abc def'
print change(string,dic) #returns abc abc
我沒想到蟒蛇會檢查字符串兩次,每次字符(如果這是發生了什麼)。
我試過的一切都不起作用,你們能給我一些建議嗎?
謝謝。
代碼不編譯。 'j' - >'c' – keyser 2014-11-22 17:03:07
問題是,當您將'a'改爲'd'時,當您將'd'改爲'a'時,它也會被改回。這也是整個練習的重點。你可以通過調試打印一些東西來輕鬆實現這一點,例如change()中的'string'。 – keyser 2014-11-22 17:04:56
這聽起來是家庭作業-y,所以我只給你一個提示;運行'替換'一堆將迭代通過字符串一堆。也許你不想多次遍歷它。 – gcarvelli 2014-11-22 17:07:47