如何消除两个字符串之间具有相同索引的相同字符?

2024-06-15 01:26:07 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,两个字符串被指定为"hello""sello" (也可以是["h","e","l","l","o"]["s","e","l","l","o"]这样的列表) 它删除两个字符串之间具有相同索引的相同字符。你知道吗

在消除循环之后,它应该分别返回"h""s"。你知道吗

例如,两个字符串分别为"sony""nani" 然后它应该返回"soy""nai"


Tags: 字符串hello列表字符soysonynaninai
2条回答
a = "hello"
b = "hallo world"
if len(a)>len(b):
strLen = len(b)
else:
strLen = len(a)
for i in range(strLen):
if a[i]==b[i]:
  a = a[:i] + a[(i+1):]
  b = b[:i] + b[(i+1):]
  i ;
  strLen ;

您只需按索引获取字符串,然后逐个比较它们,然后删除它们。 但是在删除其中一个之后,需要将i作为下一个char索引变成当前索引。 另外,如果不想消除空格,可以再添加一个条件来检查字符串中的当前索引是否不是空格

也许有人会更直截了当地发布一些东西,但这是可行的:

a = 'hello'
b = 'sello'
for i in range(min(len(a), len(b))):
    if a[i] == b[i]:
        a = [c if j != i else '' for j, c in enumerate(a)]
        b = [c if j != i else '' for j, c in enumerate(b)]
a = ''.join(a) # OUTPUT 'h'
b = ''.join(b) # OUTPUT 's'

相关问题 更多 >