Sprawdź, czy element znajduje się w tablicy / liście
Jeśli mam tablicę łańcuchów, czy mogę sprawdzić, czy łańcuch jest w tablicy bez wykonywania pętli for
? W szczególności, szukam sposobu, aby to zrobić w if
oświadczenie, więc coś takiego:
if [check that item is in array]:
5 answers
Zakładając, że masz na myśli "listę", gdzie mówisz "tablica", możesz zrobić
if item in my_list:
# whatever
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-28 19:40:26
Zakładam również, że masz na myśli "listę", kiedy mówisz " tablica."Rozwiązanie Svena Marnacha jest dobre. Jeśli masz zamiar wykonywać powtarzające się kontrole na liście, to może warto przekonwertować ją na zestaw lub frozenset, który może być szybszy dla każdej kontroli. Zakładając, że Twoja lista strs nazywa się subjects
:
subject_set = frozenset(subjects)
if query in subject_set:
# whatever
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-28 19:46:02
Użyj funkcji lambda.
Powiedzmy, że masz tablicę:
nums = [0,1,5]
Sprawdź czy 5 jest w nums
:
(len(filter (lambda x : x == 5, nums)) > 0)
To rozwiązanie jest bardziej wytrzymałe. Możesz teraz sprawdzić, czy jakakolwiek liczba spełniająca określony warunek znajduje się w tablicy
nums
.
Na przykład sprawdź, czy w nums
istnieje jakakolwiek liczba większa lub równa 5:
(len(filter (lambda x : x >= 5, nums)) > 0)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-11 16:33:59
Musisz użyć .wartości dla tablic. na przykład powiedzmy, że masz dataframe, który ma nazwę kolumny ie, test ['Name'], możesz zrobić
if name in test['Name'].values :
print(name)
Dla normalnej listy nie musisz jej używać .wartości
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-25 11:28:10
Możesz również użyć tej samej składni dla tablicy. Na przykład wyszukiwanie w ramach serii Pandy:
ser = pd.Series(['some', 'strings', 'to', 'query'])
if item in ser.values:
# do stuff
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-11 23:32:01