Find first in array python

python find in array

Arrays are usually referred to as lists. For convience, lets call them arrays in this article.

Python has a method to search for an element in an array, known as index().
We can find an index using:

Arrays start with the index zero (0) in Python:

python-string

If you would run x.index(‘p’) you would get zero as output (first index).

Array duplicates: If the array contains duplicates, the index() method will only return the first element.

Find multiple occurences

If you want multiple to find multiple occurrences of an element, use the lambda function below.

get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

Find in string arrays

To find an element in a string array use:

x = [«Moon»,«Earth»,«Jupiter»]
print(x.index(«Earth»))

You could use this code if you want to find multiple occurrences:

x = [«Moon»,«Earth»,«Jupiter»,«Neptune»,«Earth»,«Venus»]
get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]
print(get_indexes(«Earth»,x))

Find in numeric array

The index method works on numeric arrays too:

To find multiple occurrences you can use this lambda function:

x = [5,1,7,0,3,4,5,3,2,6,7,3,6]
get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]
print(get_indexes(7,x))

Источник

5 способов поиска элемента в списке Python

5 способов поиска элемента в списке Python

Статьи

Введение

В ходе статьи рассмотрим 5 способов поиска элемента в списке Python.

Поиск методом count

Метод count() возвращает вхождение указанного элемента в последовательность. Создадим список разных цветов, чтобы в нём производить поиск:

colors = ['black', 'yellow', 'grey', 'brown']

Зададим условие, что если в списке colors присутствует элемент ‘yellow’, то в консоль будет выведено сообщение, что элемент присутствует. Если же условие не сработало, то сработает else, и будет выведена надпись, что элемента отсутствует в списке:

colors = ['black', 'yellow', 'grey', 'brown'] if colors.count('yellow'): print('Элемент присутствует в списке!') else: print('Элемент отсутствует в списке!') # Вывод: Элемент присутствует в списке!

Поиск при помощи цикла for

Создадим цикл, в котором будем перебирать элементы из списка colors. Внутри цикла зададим условие, что если во время итерации color приняла значение ‘yellow’, то элемент присутствует:

colors = ['black', 'yellow', 'grey', 'brown'] for color in colors: if color == 'yellow': print('Элемент присутствует в списке!') # Вывод: Элемент присутствует в списке!

Поиск с использованием оператора in

Оператор in предназначен для проверки наличия элемента в последовательности, и возвращает либо True, либо False.

Зададим условие, в котором если ‘yellow’ присутствует в списке, то выводится соответствующее сообщение:

colors = ['black', 'yellow', 'grey', 'brown'] if 'yellow' in colors: print('Элемент присутствует в списке!') else: print('Элемент отсутствует в списке!') # Вывод: Элемент присутствует в списке!

В одну строку

Также можно найти элемент в списке при помощи оператора in всего в одну строку:

colors = ['black', 'yellow', 'grey', 'brown'] print('Элемент присутствует в списке!') if 'yellow' in colors else print('Элемент отсутствует в списке!') # Вывод: Элемент присутствует в списке!
colors = ['black', 'yellow', 'grey', 'brown'] if 'yellow' in colors: print('Элемент присутствует в списке!') # Вывод: Элемент присутствует в списке!

Поиск с помощью лямбда функции

В переменную filtering будет сохранён итоговый результат. Обернём результат в список (list()), т.к. метода filter() возвращает объект filter. Отфильтруем все элементы списка, и оставим только искомый, если он конечно присутствует:

colors = ['black', 'yellow', 'grey', 'brown'] filtering = list(filter(lambda x: 'yellow' in x, colors))

Итак, если искомый элемент находился в списке, то он сохранился в переменную filtering. Создадим условие, что если переменная filtering не пустая, то выведем сообщение о присутствии элемента в списке. Иначе – отсутствии:

colors = ['black', 'yellow', 'grey', 'brown'] filtering = list(filter(lambda x: 'yellow' in x, colors)) if filtering: print('Элемент присутствует в списке!') else: print('Элемент отсутствует в списке!') # Вывод: Элемент присутствует в списке!

Поиск с помощью функции any()

Функция any принимает в качестве аргумента итерабельный объект, и возвращает True, если хотя бы один элемент равен True, иначе будет возвращено False.

Создадим условие, что если функция any() вернёт True, то элемент присутствует:

colors = ['black', 'yellow', 'grey', 'brown'] if any(color in 'yellow' for color in colors): print('Элемент присутствует в списке!') else: print('Элемент отсутствует в списке!') # Вывод: Элемент присутствует в списке!

Внутри функции any() при помощи цикла производится проверка присутствия элемента в списке.

Заключение

В ходе статьи мы с Вами разобрали целых 5 способов поиска элемента в списке Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Источник

Finding an Object in a Python Array – Find the First, Last, and All Occurences of Objects in an Array

Feature Img Find Occurrence

Today in this tutorial, we will be finding the first, last, and all occurrences of an element in an array with the help of Recursion.

Before going into any of the problem statements, let us first understand what Recursion is. If you want to learn about Recursion, a link is provided to know about Recursion.

Learn about Recursion here: Python Recursion

Finding the First Occurence of the Element

Let’s begin by looking for the first occurrence of the element in a Python array. We aim to find the very first position at which the element occurs in a list of elements (array).

For Example:
Array Given ==> [1,2,3,4,2]First Occurence ==> 2

To find the solution to the problem we would take the following steps:

Step 1 : Check if list is empty then return that list is empty Step 2 : Check if there is only one element then check the first element with X and return the answer if found Step 3 : For more than one element, we will check if the first element is equal to X if found then return Step 4 : Otherwise recursively go by slicing the array and incrementing and decremementing the itrerator and n value (size of array ) respectively Step 5 : Repeat until the element is found or not

The code implementation of the above-mentioned steps is shown below:

def find_first(arr,n,x,itr): # check if list is empty if(n==0): print("List empty!") return # Only one element elif(n==1): if(arr[0]==x): print("Element present at position 1") else: print("Element not found") return # More than one element else: if(arr[0] == x): print("Found at position: ", itr+1) else: find_first(arr[1:],n-1,x,itr+1) return arr = [1,2,3,4,5,2,10,10] n = len(arr) x = 10 itr = 0 find_first(arr,n,x,itr)

Finding the Last Occurence of an Object

Next, we’ll try to find the last occurrence of the element using Python. We aim to find the very last position at which the element occurs in a list of elements (array).

For Example:
Array Given ==> [1,2,3,4,2]Last Occurence ==> 5

To find the solution to the problem we would take the following steps:

Step 1 : Check if list is empty then return that list is empty Step 2 : Check if there is only one element then check the first element with X and return the answer if found Step 3 : For more than one element, we will check if the last element is equal to X if found then return Step 4 : Otherwise recursively go by slicing the array and decremementing both the iterator and n value (size of array ) Step 5 : Repeat until the element is found or not

Implementing the above steps in Python

def find_first(arr,n,x,itr): # check if list is empty if(n==0): print("List empty!") return # Only one element elif(n==1): if(arr[0]==x): print("Element present at position 1") else: print("Element not found") return # More than one element else: if(arr[n-1] == x): print("Found at position: ", itr+1) else: find_first(arr[:-1],n-1,x,itr-1) return arr = [1,2,3,4,5,2,3,2,3,2,10,10] n = len(arr) x = 2 itr = n - 1 find_first(arr,n,x,itr)

Finding All Occurences of an Object

Here we aim to find all the positions at which the element occurs in a list of elements (array). The occurrences include the first, last, and any middle positions of the element in the array.

For Example:
Array Given ==> [1,2,3,4,2]All Occurences ==> 2 5

To find the solution to the problem we would take the following steps:

Step 1 : Check if list is empty then return that list is empty Step 2 : Check if there is only one element then print the position of the element and return Step 3 : For more than one element, we will check if the first element is equal to X if found then print and keep on recursively calling the function again by slicing the array and decremementing n value (size of array ) and incrementing the value of iterator Step 5 : Repeat until all the elements are encountered.

Implementing the above steps in Python

def find_first(arr,n,x,itr): # check if list is empty if(n==0): print("List empty!") return # Only one element elif(n==1): if(arr[0]==x): print(itr+1,end=" ") else: print("Element not found") # More than one element else: if(arr[0] == x): print(itr+1,end=" ") find_first(arr[1:],n-1,x,itr+1) arr = [1,2,10,3,4,10,5,2,10,2,3,10] n = len(arr) x = 10 itr = 0 print("Found at position: ",end="") find_first(arr,n,x,itr)
Found at position: 3 6 9 12

Conclusion

So by end of this tutorial, we are familiar with finding an elements’ first, last, and all occurrences in a given array. Hope you understood the logic!

Thank you for reading! Happy learning! 😇

Источник

Читайте также:  Exception class java util concurrent completionexception java net socketexception connection reset
Оцените статью