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 № 1To 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.