繁体   English   中英

获得两个字符串(在python中)之间对称差异的最佳有效方法是什么?

[英]What is the best effective way to get symmetric difference between two strings(in python)?

示例:如果有两个字符串:- s1 = 'cde' s2 = 'abc'

Output:'deab'

我将字符串转换为列表并比较了两个列表。

a = 'cde'
b = 'abc'
list1 = list(a)
list2 = list(b)

diff = []
for item in list1:
      if item not in list2:
            diff.append(item)
for item in list2:
      if item not in list1:
            diff.append(item)
diff = ' '.join(map(str, diff)).replace(' ','')

print(diff)

有没有其他方法可以在不将其转换为列表的情况下解决此问题? 我感谢您的帮助。 提前致谢。

您可以将每个字符串转换为一个set ,然后使用symmetric_difference ,最后str.join回单个字符串

>>> ''.join(set(a).symmetric_difference(b))
'daeb'

暂无
暂无

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

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