2016-03-24 10 views
0

以下の異なるシナリオで "in"演算子を使用しました。 1つは文字列の上にあり、もう1つは文字列のリストにあります。文字列の "in"演算子とPythonの文字列を含むリストの差異

>>> "yo" in "without you" 
True 
>>> "yo" in "without you".split() 
False 

なぜ出力が異なるのですか?

+0

てみ'印刷を参照してください。 – Plouff

+0

''yo''が文字列の中にあるかどうかを確認するには、[**' any' **](https://docs.python.org/2/library/functions.html#any)を使います。リスト: 'any( 'yo' inの単語の単語'without you'.split()) ' –

+0

[Pythonのリスト項目に別の文字列の中に文字列が含まれているかどうかをチェックする](http://stackoverflow.com/questions/4843158/check-if-a-python-list -item-contains-a-string-inside-another-string) –

答えて

4

文字列の場合、左辺がの部分文字列の右側にある場合、in演算子はtrueを返します。

so "yo" in "without you" asks:サブストリング"yo"は、文字列"without you"のどこにでも表示されますか?はい。 (リストのような)配列について


左辺はに等しい右辺の任意の要素である場合、inオペレータがtrueを返します。

"without you".split()は、["without", "you"]を返します。

したがって"yo" in ["without", "you"]質問:"yo"は、これらの2つの文字列のうちの1つに等しいか?第


は `( "なしあなた" .split())も

関連する問題