繁体   English   中英

从指定的索引列表python之外的字符串中删除所有字符

[英]remove all characters from a string other than a specified list of indices python

我有两个字符串:

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]

我得到一个错误

我该怎么做呢?

您可以使用zip

strA='EEEEEE     HHHH      HHHHHHH' 
strB='AJKFKKJSNCKSJNFKSJASLOINCLAJ'
strC = ''.join([' ' if b != 'H' else a for a, b in zip(strB, strA)])

输出:

'           SJNF      OINCLAJ'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM