2024-10-03 06:18:10 发布
网友
如果这个问题用词不当,我深表歉意;我在下面提供了一个输入和期望的输出来说明我想要产生的效果
inpt = 'aabbaa' duplicate_range = [2,4] some_func(inpt, duplicate_range) >>>>'aabbbbaa'
本质上,我想复制在我的inpt字符串中找到的bb,这样复制就在原始出现之后立即发生
inpt
bb
我认为你需要:
inpt = 'aabbaa' duplicate_range = [2,4] def some_func(x, rng): substr = x[rng[0]:rng[1]] x = x[:rng[0]]+substr*2+x[rng[1]:] return x print(some_func(inpt, duplicate_range))
我能想到的一个简单而优雅的方式是:
def some_func(inpt,a,b): return inpt[:a] + inpt[a:b]*2 + inpt[b:]
您可以从范围列表中构建一个slice,并通过切片初始字符串并添加要复制的子字符串来构建一个新字符串
slice
inpt = 'aabbaa' duplicate_range = [2,4]
s = slice(*duplicate_range) inpt[:s.start] + inpt[s]*2 + inpt[s.stop:] # 'aabbbbaa'
我认为你需要:
我能想到的一个简单而优雅的方式是:
您可以从范围列表中构建一个
slice
,并通过切片初始字符串并添加要复制的子字符串来构建一个新字符串相关问题 更多 >
编程相关推荐