1

Python 2.7.4 の使用

リストがあるとしましょう

list = ['abc', 'def']

特定のものが含まれているかどうかを調べたい。だから私は試します:

 [IN:] 'abc' in list
[OUT:] True
 [IN:] 'def' in list
[OUT:] True
 [IN:] 'abc' and 'def' in list
[OUT:] True

しかし、list.pop(0) を実行して最後のテストを繰り返すと、次のようになります。

 [IN:] 'abc' and 'def in list
[OUT:] True

それでも:

list = ['def']

理由を知っている人はいますか?

4

1 に答える 1

5

その理由は次のとおりです。

abc' and 'def' in list

次と同等です。

('abc') and ('def' in list) #Non-empty string is always True

または を使用'abc' in list and 'def' in listして、複数のアイテムを使用することもできますall()

all(x in list for x in ('abc','def'))

変数名として使用しないでくださいlist。組み込み型です。

于 2013-09-09T09:07:27.383 に答える