2017-04-13 16 views
5

To dziwne, aby zobaczyć kawałek kodu za pomocą STR STR STR "składni, npPython ciąg w ... w składni

>>> 'test' in 'testtest' in 'testtesttest' 
True 
>>> 'test' in 'testtest' in 'tb3' 
False 
>>> 'test' in 'testtesta' in 'testtesttest' 
False 
>>> 'test' in ('testtest' in 'testtesttest') 
Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    'test' in ('testtest' in 'testtesttest') 
TypeError: argument of type 'bool' is not iterable 

Wydaje się, że„w ... w .. . "jest podobne do porównania" < ... < ... ". Ale szybki google nie poprowadził mnie do oficjalnych odpowiedzi. Jakaś pomoc?

+0

Myślę, że twoje przypuszczenie jest poprawne. "A w B w C" oznacza "A w B i B w C", podobnie jak "a Organis

Odpowiedz

5

Oficjalna odpowiedź z Python documentation:

comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "!=" 
        | "is" ["not"] | ["not"] "in" 

in kluczowe jest operatorem porównania. I "Porównania mogą być dowolnie łączone". Należy zauważyć, że nie ogranicza się to do "porównań wartości" (>, == itd.).

Ten kod sprawdza, czy każdy jest podłańcuchem następnego elementu w łańcuchu.

Powiązane problemy