gpt4 book ai didi

Python - 相交的字符串

转载 作者:太空狗 更新时间:2023-10-29 22:03:47 25 4
gpt4 key购买 nike

尝试编写一个 for 函数,它接受两个字符串并返回按照它们在第一个字符串中出现的顺序相交的字符。

这是我尝试过的:

def strIntersection(str1, str2):
for i in str1:
str3 = ''
str3 = str3.join(i for i in str1 if i in str2 not in str3)
return str3

str1 = 'asdfasdfasfd'
str2 = 'qazwsxedc'

strIntersection(str1,str2)

=> 'asdasdasd'

但是我只希望交集字符按第一个字符串的顺序出现一次,即。 'asd'

有人能帮忙吗?

我在其他论坛上发现了一些类似的问题,但解决方案似乎都涉及列表,而我希望我的输出是一个字符串

最佳答案

以相反的方式检查事件以控制顺序,并且不要发出您已经发出的字符:

def strIntersection(s1, s2):
out = ""
for c in s1:
if c in s2 and not c in out:
out += c
return out

当然,您可以将其重写为列表理解,但我发现这更容易理解。

对于您的测试数据,我们得到:

>>> strIntersection('asdfasdfasfd' , 'qazwsxedc')
'asd'

关于Python - 相交的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9736530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com