Проверьте, находится ли элемент в массиве

Если у меня есть массив строк, могу ли я проверить, не содержит ли строка в массиве без цикла for ? В частности, я ищу способ сделать это в выражении if , что-то вроде этого:

 if [check that item is in array]: 

4 Solutions collect form web for “Проверьте, находится ли элемент в массиве”

Предполагая, что вы имеете в виду «список», где вы говорите «массив», вы можете сделать

 if item in my_list: # whatever 

Я также предполагаю, что вы имеете в виду «список», когда вы говорите «массив». Решение Свена Марнаха хорошее. Если вы собираетесь делать повторные проверки в списке, то, возможно, стоит преобразовать его в набор или frozenset, который может быть быстрее для каждой проверки. Предполагая, что ваш список strs называется subjects :

 subject_set = frozenset(subjects) if query in subject_set: # whatever 

Вы также можете использовать тот же синтаксис для массива. Например, поиск в серии Pandas:

 ser = pd.Series(['some', 'strings', 'to', 'query']) if item in ser.values: # do stuff 

Используйте лямбда-функцию.

Допустим, у вас есть массив:

 nums = [0,1,5] 

Проверьте, есть ли 5 ​​в количестве:

 (len(filter (lambda x : x == 5, nums)) > 0) 

Это решение более надежное. Теперь вы можете проверить, есть ли какое-либо число, удовлетворяющее определенному условию , в вашем массиве nums .

Например, проверьте, существует ли число, большее или равное 5, в числе:

 (len(filter (lambda x : x >= 5, nums)) > 0) 
Python - лучший язык программирования в мире.