Python3 - 字符串中的变量替换

Python028

Python3 - 字符串中的变量替换,第1张

创建一个内嵌变量字符串,指定字符串替换掉变量。

Python并没有对在字符串中简单替换变量值提供直接的支持。 通过使用字符串的 format() 方法来解决这个问题。比如:

或者,如果被替换的变量能在变量域中找到, 那么可以结合使用 format_map() vars() 。就像下面这样:

format() format_map() 的一个缺陷就是它们并不能很好的处理变量缺失的情况,比如:

在python3中,有一种可读性更强,更方便的替代方法,在字符串前加 f ,需要被替代的变量外加花括号 {} ,其命名与替代变量的名称相同

多年以来由于Python缺乏对变量替换的内置支持而导致了各种不同的解决方案。在Python3中,推荐使用在字符串前加 f 的方法。

楼主搞生物的?很像碱基对啊。replace是替换整串字符串的,但是这里不方便,因为你把aa替换成tt后,就变成tttt,然后再替换,变为aaaa,没有达到效果,除非你用另外的字符代替,不过,这样就没有python的简洁优美了,所以这个问题用re最方便,下面是代码:

# coding=utf-8

import re

astr = 'aattccgg'

charmap = {'aa':'tt','tt':'aa','cc':'gg','gg':'cc'}

new = re.sub(r'aa|tt|cc|gg', lambda x: charmap[x.group(0)], astr)

print(new)#python2为print new