/ / Sprawdzanie zawartości listy Pythona - python, lista, kolekcje, instrukcje warunkowe

Sprawdzanie zawartości listy pytonów - python, lista, kolekcje, instrukcje warunkowe

Korzystanie z Pythona 2.7.4

Powiedzmy, że mam listę

list = ["abc", "def"]

Chcę dowiedzieć się, czy zawiera pewne rzeczy. Więc próbuję:

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

Ale kiedy mam list.pop (0) i powtarzam ten ostatni test:

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

Nawet jeśli:

list = ["def"]

Ktoś wie dlaczego?

Odpowiedzi:

5 dla odpowiedzi № 1

To jest ponieważ:

abc" and "def" in list

jest równa:

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

Posługiwać się "abc" in list and "def" in list lub dla wielu przedmiotów możesz również użyć all()

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

Nie używaj list jako nazwa zmiennej, jest to typ wbudowany.