Python 将char 1的所有实例替换为char 2,同时将char 2的所有实例替换为字符串中的char 1
在Python中,我有一个格式为“1343214324”的字符串——所有字符都是“1”、“2”、“3”或“4”。我试图将“1”的所有实例替换为“3”,将“3”的所有实例替换为“1”,将“2”的所有实例替换为“4”,将“4”的所有实例替换为“2”。如果我只是使用replace,我会得到一个包含所有“1”和“2”的字符串。在上面的示例中,它应该返回“312143242” 现在,我只是遍历字符串中的字符并将其附加到另一个字符串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] 如果
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
来映射键值对。有趣的是,我没有想到这一点。我是否应该删除我的问题,因为它是重复的?