David Y.
—How can I find an item in a Python list?
To check whether a list contains an item, we can use the Python in
operator:
products = ["Apples", "Pears", "Oranges"] if "Apples" in products: print("Apples for sale!")
To return the index of a given item in a list, see this answer.
If we don’t want to find a specific item, but a list of items that fulfill some condition (for example, all the odd numbers in a list) we can use a list comprehension, as below:
my_list = [1, 4, 7, 8, 3] odd_numbers = [n for n in my_list if n%2] print(odd_numbers) # will print [1, 7, 3]
The list comprehension in odd_numbers
will go through my_list
and construct a new list of every item it finds that has a nonzero modulo 2 (that is, produces a remainder when divided by two).
If we want only the first item from our list that satisfies our condition, we change our list comprehension into a call to the Python next
function.
my_list = [1, 4, 7, 8, 3] odd_number = next(n for n in my_list if n%2) print(odd_number) # will print 1
If next
does not find a value, it will throw a StopIteration
exception. To prevent it from doing so, we can provide a default value to return as an additional argument.
my_list = [4, 8] odd_number = next((n for n in my_list if n%2), None) print(odd_number) # will print None
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.