Python 如果存在字符串,如何用字符串替换字符串

Python 如果存在字符串,如何用字符串替换字符串,python,Python,你好,伙计,我有个问题 如果字符串存在,如何替换字符串中的字符串。 例如: 它将打印3而不是60,我如何才能做到这一点,否则如果x为80,它将替换为4 谢谢以下是我的做法: 首先,您似乎混淆了字典的语法。词典以{开头,以}结尾[和]用于列表,它们没有:(列表类似于:[1,2,3,4,5]。以下代码将遍历字典中的所有键,然后在字符串中正确替换它们 li={'20':'1','40':'2','60':'3','80':'4','100':'5'} string='abcd abcd 60' fo

你好,伙计,我有个问题 如果字符串存在,如何替换字符串中的字符串。 例如:

它将打印3而不是60,我如何才能做到这一点,否则如果x为80,它将替换为4


谢谢

以下是我的做法:

首先,您似乎混淆了字典的语法。词典以
{
开头,以
}
结尾
[
]
用于
列表,它们没有
(列表类似于:
[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)

字典可能更容易,所以它应该是这样的:

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])
将打印

编辑:更新问题的答案

for key in dictionary:
    if key in text:
        print (dictionary[key])
注意,只有当您没有其他键的子串(即term&terminal)时,这才起作用,在这种情况下,您始终可以使用正则表达式

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)
for key in dictionary:
    if key in text:
        print (dictionary[key])