替换函数,如何给"b"多个值赋值?
Replace function, how to assign "b" multiple values?
我的问题很小,就是无法进行正常的字母替换。我知道 .replace 命令,但我似乎无法正确使用它。
例如:我的k##yb0%%rd是br###k##n。 ### 应替换为 o,## 应替换为 e,%% 应替换为 a。谢谢!
a = input("What did she say? ")
b = a.replace("###", "o")
print(b)
您可以尝试这样的操作:
a = input("What did she say? ")
d = {'###':'o', '##':'e','%%':'a'}
for k,v in d.items():
a = a.replace(k, v)
b = a # if you need value in b variable
print(b)
您可以创建这样的字典并使用它来替换多个值。请务必妥善整理您的词典。
作为第一件事,我建议阅读 Python 的 str.replace
文档。
我建议这样:
b = a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')
这是可能的,因为 a.replace("###", 'o')
的 return
ed 值是类型 str
,因此方法 replace
也可以应用于它。
如果您不知道哪些字符将被替换,您应该按照 Vaibhav
的建议进行操作,创建一个 dict
将旧字符(键)与新字符(值)相关联。
更重要的是str
是一个不可变的type
,所以你不能只做
a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')
但无论如何,您不必将返回值分配给 b
,您不能毫无问题地将它重新分配给 a
:
a = a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')
你也可以直接print
它。
我的问题很小,就是无法进行正常的字母替换。我知道 .replace 命令,但我似乎无法正确使用它。
例如:我的k##yb0%%rd是br###k##n。 ### 应替换为 o,## 应替换为 e,%% 应替换为 a。谢谢!
a = input("What did she say? ")
b = a.replace("###", "o")
print(b)
您可以尝试这样的操作:
a = input("What did she say? ")
d = {'###':'o', '##':'e','%%':'a'}
for k,v in d.items():
a = a.replace(k, v)
b = a # if you need value in b variable
print(b)
您可以创建这样的字典并使用它来替换多个值。请务必妥善整理您的词典。
作为第一件事,我建议阅读 Python 的 str.replace
文档。
我建议这样:
b = a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')
这是可能的,因为 a.replace("###", 'o')
的 return
ed 值是类型 str
,因此方法 replace
也可以应用于它。
如果您不知道哪些字符将被替换,您应该按照 Vaibhav
的建议进行操作,创建一个 dict
将旧字符(键)与新字符(值)相关联。
更重要的是str
是一个不可变的type
,所以你不能只做
a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')
但无论如何,您不必将返回值分配给 b
,您不能毫无问题地将它重新分配给 a
:
a = a.replace("###", 'o').replace("##", 'e').replace("%%", 'a')
你也可以直接print
它。