python - Python 中的字符串替换列表

标签 python string replace

是否有更短的方法来编写以下代码?

my_string = my_string.replace('A', '1')
my_string = my_string.replace('B', '2')
my_string = my_string.replace('C', '3')
my_string = my_string.replace('D', '4')
my_string = my_string.replace('E', '5')

请注意,我不需要替换那些确切的值;我只是在寻找一种将 5+ 行变成少于 5 行的方法

最佳答案

看起来是使用循环的好机会:

mapping = { 'A':'1', 'B':'2', 'C':'3', 'D':'4', 'E':'5'}
for k, v in mapping.iteritems():
    my_string = my_string.replace(k, v)

如果您不介意括号的话,一种更快的方法是:

mapping = [ ('A', '1'), ('B', '2'), ('C', '3'), ('D', '4'), ('E', '5') ]
for k, v in mapping:
    my_string = my_string.replace(k, v)

关于python - Python 中的字符串替换列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/764360/

相关文章:

python - 提取 zip 是否默认覆盖?

python - SQLalchemy 在提交之前避免在 session() 中重复

java - 将 jar 转换为 dex 时模拟局部变量类型不匹配的异常

python - 如何使用正则表达式只替换括号内的内容?

java - 在Java中更改文件路径的字符串

python - 2个集合之间的关系 Arangodb

python - 新手自学python,我还应该学习什么?

c++ - 将字符串复制到 C++ 中的另一个字符串并打印其字符?

python - 使用 Python 从文件读取字符串时,双引号 ("xxx") 意外更改为两个双引号 (""xxx"")

visual-studio - VsVim:替换视觉突出显示部分中的文本