如何用不同的数字替换字符串中的所有匹配项

Luk*_*uka 3 python

我一生中从未使用过python.我需要对给定的代码进行一些修复.

我需要更换它

 new_q = q[:q.index('?')] + str(random.randint(1,rand_max)) + q[q.index('?')+1:]
Run Code Online (Sandbox Code Playgroud)

用什么来取代所有的发生?随机,不同的数字.

我怎样才能做到这一点?

eum*_*iro 5

import re
import random
a = 'abc?def?ghi?jkl'
rand_max = 9

re.sub(r'\?', lambda x:str(random.randint(1,rand_max)), a)

# returns 'abc3def4ghi6jkl'
Run Code Online (Sandbox Code Playgroud)

或没有正则表达式:

import random
a = 'abc?def?ghi?jkl'
rand_max = 9
while '?' in a:
    a = a[:a.index('?')] + str(random.randint(1,rand_max)) + a[a.index('?')+1:]
Run Code Online (Sandbox Code Playgroud)