如果我想编写一个函数mask(a, b)
,它包含两个字符串a
和b
,并将字母更改为a
中的*
,顺序与它们在b
中的出现顺序相同,则返回一个新字符串
例如,如果s1="How are you doing today"
和s2="hardod"
,则新字符串/更新的s1字符串应为"*ow **e you **ing to*ay"
有没有办法做到这一点
def mask(a,b):
for ch in s2:
s1 = s1.replace(ch, '*', 1)
return s1
print(mask("How are you doing today", "hardod"))
然后我得到输出H*ll*, *ow **e you Anders?
,这是错误的,因为它们应该依次替换,即b中的第一个字母应该替换a中出现在的第一个索引上的同一个字母,不再是,然后b应该继续到第二个字母ib,替换它出现的第一个索引上的同一个字母ia,不再是等
我会这样做:
您可以选择是否区分大小写
给予
相关问题 更多 >
编程相关推荐