gpt4 book ai didi

python - 通过连接两个字符串不包含的字符,从两个给定字符串创建一个字符串的程序

转载 作者:太空宇宙 更新时间:2023-11-04 08:24:52 25 4
gpt4 key购买 nike

  1. Write a Python program to create a string from two given strings by concatenating the characters that are not contained by both strings. The characters from the 1st string should appear before the characters from the 2nd string. Return the resulting string. Sample input: ‘0abcxyz’, ‘abcxyz1’ Expected Output: ‘01’

我已经得到了结果,但想了解是否有更好的方法来达到相同的结果。'''

var14_1, var14_2 = '0abcxyz', 'abcxyz1'
def concat(var14_1,var14_2):
res = []
[res.append(s) for s in var14_1 if s not in var14_2]
[res.append(s) for s in var14_2 if s not in var14_1]
print(''.join(res))

concat(var14_1,var14_2)

上面的代码将结果返回为 01,即预期的。但是我想知道是否还有其他方法无需使用“for循环”即可获得此解决方案两次。您的反馈将极大地帮助我提高 Python 技能。提前致谢!

最佳答案

最好不要只使用列表理解来运行多次 res.append()

var14_1, var14_2 = '0abcxyz', 'abcxyz1'

r1 = [s for s in var14_1 if s not in var14_2]
r2 = [s for s in var14_2 if s not in var14_1]
res = r1 + r2

print(''.join(res))

要使用一个 for 循环,您可以将字符串转换为集合并获取常用字符

common = set('0abcxyz') & set('abcxyz1')

然后你可以使用一个 for 连接字符串 var14_1 + var14_2

common = set('0abcxyz') & set('abcxyz1')

res = [s for s in var14_1 + var14_2 if s not in common]

print(''.join(res))

关于python - 通过连接两个字符串不包含的字符,从两个给定字符串创建一个字符串的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58349553/

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