2017-03-18 119 views
-3

你好蓋伊的我有問題 如果字符串存在,如何替換字符串中的字符串。 例子:如何用字符串替換字符串如果存在

list=['20':'1','40':'2','60':'3','80':'4','100':'5'] 

#I have this line: 
x='abcd abcd 60' 
num='60' 
if num in x: 
print('The new number is: ') 

它會打印出3,而不是60,我怎麼能做到這一點,否則,如果在X爲80,將其替換爲4

感謝

回答

1

這裏是如何我會這樣做:

只是先說幾句,你似乎已經混淆了詞典的語法。字典以{開頭並以}結尾。 []用於list S和他們沒有:(名單看起來像:。[1,2,3,4,5]下面的代碼將遍歷字典中所有的鍵,然後在字符串中正確替換它們

li={'20':'1','40':'2','60':'3','80':'4','100':'5'} 

string='abcd abcd 60' 
for key in li: 
    string = string.replace(key,li[key]) 

print(string) 
1

字典可能會更容易,所以它會去是這樣的:

list={'20':'1','40':'2','60':'3','80':'4','100':'5'} 
x='abcd abcd 60' 
num = '60' 
if num in x: 
    print('The new number is: '+list[num]) 
0
dictionary={str(20*i):str(i) for i in range (5)} 
text='abcd abcd 60 40' 

for key in dictionary.keys(): 
    text=text.replace(key, dictionary[key]) 
print (text) 

將打印abcd abcd 3 2

編輯:回答問題的更新

for key in dictionary: 
    if key in text: 
     print (dictionary[key]) 

將心比心,這個,如果你不具備這是一個其他關鍵的一個子鍵只會工作(即term & term inal),在這種情況下,您可以重複使用正則表達式。