Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将char 1的所有实例替换为char 2,同时将char 2的所有实例替换为字符串中的char 1_Python_String - Fatal编程技术网

Python 将char 1的所有实例替换为char 2,同时将char 2的所有实例替换为字符串中的char 1

Python 将char 1的所有实例替换为char 2,同时将char 2的所有实例替换为字符串中的char 1,python,string,Python,String,在Python中,我有一个格式为“1343214324”的字符串——所有字符都是“1”、“2”、“3”或“4”。我试图将“1”的所有实例替换为“3”,将“3”的所有实例替换为“1”,将“2”的所有实例替换为“4”,将“4”的所有实例替换为“2”。如果我只是使用replace,我会得到一个包含所有“1”和“2”的字符串。在上面的示例中,它应该返回“312143242” 现在,我只是遍历字符串中的字符并将其附加到另一个字符串 newString=“” 对于ch in字符串: ch=字符串[j] 如果

在Python中,我有一个格式为“1343214324”的字符串——所有字符都是“1”、“2”、“3”或“4”。我试图将“1”的所有实例替换为“3”,将“3”的所有实例替换为“1”,将“2”的所有实例替换为“4”,将“4”的所有实例替换为“2”。如果我只是使用replace,我会得到一个包含所有“1”和“2”的字符串。在上面的示例中,它应该返回“312143242”

现在,我只是遍历字符串中的字符并将其附加到另一个字符串

newString=“”
对于ch in字符串:
ch=字符串[j]
如果ch==“1”:
新闻字符串+=“3”
elif ch==“2”:
新闻字符串+=“4”
elif ch==“3”:
新闻字符串+=“1”
其他:
新闻字符串+=“2”

虽然这是可行的,但我觉得它不是很像蟒蛇,甚至可能更有效。有没有一种更像蟒蛇的方式来完成上述任务?

使用
dict
str.join

s = "1343214324"
d = {'1': '3', '3': '1', '2': '4', '4': '2'}
''.join([d[i] for i in s])
输出:

'3121432142'

使用
dict
来映射键值对。有趣的是,我没有想到这一点。我是否应该删除我的问题,因为它是重复的?