我有两个字符串:
strA='EEEEEE HHHH HHHHHHH'
和大小相等的字符串B
strB='AJKFKKJSNCKSJNFKSJASLOINCLAJ'
我想创建第三个字符串strC
,其中只有strB
中的字符对应strA
中的给定字符。
例如,我感兴趣的是strB
中对应于' H'在strA
中,输出应如下所示:
strC=' SJNF OINCLAJ'
完好无损。
我试过了:
def find(s, ch):
return [i for i, ltr in enumerate(s) if ltr == ch]
temp = find(strA,' H') 输出是:
temp= [11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27]
当我尝试通过执行以下操作创建新字符串str_new
时:
str_new = strB[temp]
我收到错误
我该怎么做?
答案 0 :(得分:2)
您可以使用zip
:
strA='EEEEEE HHHH HHHHHHH'
strB='AJKFKKJSNCKSJNFKSJASLOINCLAJ'
strC = ''.join([' ' if b != 'H' else a for a, b in zip(strB, strA)])
输出:
' SJNF OINCLAJ'