我正在寻找一种比较两个字符串的方法,并能够分别获得以下内容:
- 所有共同的字符,
- 不同的字符(除了共同的字符以外的所有字符),
- 仅存在一个字符串中的字符。
例如:
A = "123 ABC"
B = "135 AZ"
thingamajigger(A, B) # would give all these:
intersect = "13 A" # (includes space)
exclusion = "2BCZ5"
a_minus_b = "2BC"
b_minus_a = "5Z"
a_minus_b
很简单......但是如果有那种花哨的一行代码可以实现,我也很乐意尝试。
for i in B:
A = A.replace(i, "")
这有点像对字符串进行布尔运算。
"".join([c for c in A if c not in set(B)])
它会比原来的方法高效得多(在长度上是加性而不是乘性)。 - jason