我是Python新手,所以我不确定这个操作的确切名称,因此我很难在其中搜索信息。
基本上我想要一个字符串,比如:
"[[size]] widget that [[verb]] [[noun]]"
其中大小、动词和名词都是一个列表。
我想把这个字符串解释成一种元语言,这样我就能从列表中排列出许多句子。作为一个元语言,我还可以创建其他字符串,使用这些预定义的列表来生成更多的置换。
python中是否有类似这样的变量替换功能?如果我只需要在谷歌上搜索一下,这个操作用什么术语来描述?
最佳答案
如果您有sizes
,verbes
,nounes
列表,这里有一个可能的实现:
import itertools, string
t = string.Template("$size widget that $verb $noun")
for size, verb, noun in itertools.product(sizes, verbes, nounes):
print t.safe_substitute(size=size, verb=verb, noun=noun)