gpt4 book ai didi

Python3文本替换优化

转载 作者:行者123 更新时间:2023-11-28 21:38:48 26 4
gpt4 key购买 nike

我的问题是关于优化我目前进行文本替换的方式。

我有一个我正在构建的脚本,它会在脚本运行时用内部变量来呈现问题,这些变量会被替换为随机实际值。

我的脚本目前执行类似于以下内容(使用随机库):

def rand_var():
rndvar = ['one', 'two', 'three']
shuffle(rndvar)
return rndvar

rndvar = rand_var()

x = 'blah blah VAR1 blah blah VAR2 blah blah'

x = x.replace('VAR1', rndvar[0])
x = x.replace('VAR2', rndvar[1])

rndvar 列表是随机的,在字符串 x 中,VAR1 被替换为第一个随机元素,VAR2 被替换为第二个。

我想知道是否有一种方法可以重写多个 x = x.replace 行,以便我仍然可以将字符串(问题)中的变量指定为 VAR1 VAR2 等,但是让单个替换行知道 VAR1表示替换为 rndvar[0],VAR2 表示替换为 rndvar[1] 等。

我的问题(字符串)将包含来自多个列表的元素,代表不同的事物(但都是字符串)。

谢谢大家的回复,我很感激!

最佳答案

单程替换的一个选项是re.sub:

x = re.sub(r'\bVAR(\d+)\b', lambda m: rndvar[int(m.group(1)) - 1], x)

您还可以使用简单的 zip 循环来替换 passes:

for placeholder, replacement in enumerate(('VAR1', 'VAR2'), rndvar):
x = x.replace(placeholder, replacement)

关于Python3文本替换优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com