2016-09-03 11 views
-1

は、だから私は二つの文字列文字列でない文字列に

a = "abc"b = "ab"

は、今私はB

私が持っているコードには存在しないで文字を見つけようとしていますがあります。

for element in t: 
    if element not in s: 
     print element 

これは、大きな文字列ではエラーが発生しています。私はまだそのエラーに見ていないが、私は同じことを行うための別の方法は、のようなものであろうと思っていた:私はやる、

if a not in b: 
//further code to identify the element that is not in string b 

私はそれを実行したときに上記のコードの一部は私にFalseを与えません2番目の文字列に存在しない要素を特定する方法を知っている。

どうすればよいですか?

>>> a = "abc" 
>>> b = "abd" 
>>> set(a).difference(b) 
set(['c']) 

これはあなたbではありませんa内のアイテムを与える:

+2

カウント数も試していますか?すなわち、a = 'abcccd'および 'b =' abc ''は、所望の回答「ccd」または「d」であるか? – dawg

答えて

3

これはsetは本当に良い事の一種です。あなたはどちらか一方のみに表示される項目をしたい場合は、symmetric_differenceを使用することができます。しかし

>>> for element in a: 
...  if element not in b: 
...   print element 
... 
c 

:あなたのコード仕事があまりにも適切な入力を与えなければならない


>>> a = "abc" 
>>> b = "abd" 
>>> set(a).symmetric_difference(b) 
set(['c', 'd']) 
大規模なシーケンスを扱っているなら、これははるかに効率が悪く、たくさんのコードを書いているので、実際にはそれをお勧めしません。

関連する問題