/ / Kontrola obsahu zoznamu python - python, zoznam, kolekcie, podmienené vyhlásenia

Kontrola obsahu zoznamu pythonov - python, zoznam, kolekcie, podmienené vyhlásenia

Použitie pythonu 2.7.4

Povedzme, že mám zoznam

list = ["abc", "def"]

Chcem zistiť, či obsahuje určité veci. Takže skúsim:

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

Ale keď som list.pop (0) a zopakujem posledný test:

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

Hoci:

list = ["def"]

Každý vie prečo?

odpovede:

5 pre odpoveď č. 1

To je preto, lebo:

abc" and "def" in list

je ekvivalentom:

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

použitie "abc" in list and "def" in list alebo pre viaceré položky, ktoré môžete použiť all()

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

Nepoužívajte list ako názov premennej, je to vstavaný typ.