Skip to main content
 首页 » 编程设计

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

2025年05月04日28sharpest

  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))