我一生中从未使用过
python.我需要对给定的代码进行一些修复.
我需要更换它
new_q = q[:q.index('?')] + str(random.randint(1,rand_max)) + q[q.index('?')+1:]
用什么来取代所有的发生?随机,不同的数字.
我怎样才能做到这一点?
解决方法
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'
或没有正则表达式:
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:]