JIYIK CN >

Current Location:Home > Learning > PROGRAM > Python >

Searching a list of dictionaries in Python

Author:JIYIK Last Updated:2025/05/09 Views:

This tutorial describes the methods that can be used to search a list of dictionaries in Python.


next()Searching a list of dictionaries in Python using the

next()The function can be used to provide the result as the next item in a given iterator. This method also requires the use of fora loop to test the flow against all conditions.

The following code uses next()the function to search a list of dictionaries in Python.

lstdict = [
    {"name": "Klaus", "age": 32},
    {"name": "Elijah", "age": 33},
    {"name": "Kol", "age": 28},
    {"name": "Stefan", "age": 8},
]
print(next(x for x in lstdict if x["name"] == "Klaus"))
print(next(x for x in lstdict if x["name"] == "David"))

Output:

{'name': 'Klaus', 'age': 32}
Traceback (most recent call last):
  File "<string>", line 8, in <module>
StopIteration

The method succeeds when we search for a name that is already present in the dictionary list. However, it gives an error when searching for a name that is not present in the dictionary list StopIteration.

However, this can be easily handled in the code above. You just need to use a slightly different API to adjust and provide default values.

lstdict = [
    {"name": "Klaus", "age": 32},
    {"name": "Elijah", "age": 33},
    {"name": "Kol", "age": 28},
    {"name": "Stefan", "age": 8},
]
print(next((x for x in lstdict if x["name"] == "David"), None))

Output:

None

In addition to looking up the items themselves, we can also look up the index of an item in a list of dictionaries. To achieve this, we can use enumerate()the function.

The following code uses next()the and enumerate()functions to search and find the index of an item.

lstdict = [
    {"name": "Klaus", "age": 32},
    {"name": "Elijah", "age": 33},
    {"name": "Kol", "age": 28},
    {"name": "Stefan", "age": 8},
]
print(next((i for i, x in enumerate(lstdict) if x["name"] == "Kol"), None))

Output:

2

filter()Searching a list of dictionaries in Python using the

filter(function, sequence)function is used to compare sequencewith in Python function. It checks if each element in a sequence is true or not according to a function. By using filter()the function and lambdathe function, we can easily search for an item in a list of dictionaries. In Python 3, filter()the function returns filteran object of the class. We can list()convert this object into a list using the function.

The following code example shows us how to use the filter()and lambdafunctions to search for a specific element in a list of dictionaries.

listOfDicts = [
    {"name": "Tommy", "age": 20},
    {"name": "Markus", "age": 25},
    {"name": "Pamela", "age": 27},
    {"name": "Richard", "age": 22},
]
list(filter(lambda item: item["name"] == "Richard", listOfDicts))

Output:

[{'age': 22, 'name': 'Richard'}]

We use filter()the and functions to search for an element with the key equal to lambdain a list of dictionaries . First, we initialized the list of dictionaries and searched for a value that matched the function using the function . Finally, we converted the result into a list using the function.nameRichardlistOfDictsfilter()lambdalambda item: item['name'] == 'Richard'list()


Searching a list of dictionaries in Python using list comprehensions

List comprehensions are a relatively short and very elegant way to create lists based on given values ​​from existing lists.

We can use list comprehension to return a list that generates the search results for a list of dictionaries in Python.

The following code uses list comprehensions to search a list of dictionaries in Python.

lstdict = [
    {"name": "Klaus", "age": 32},
    {"name": "Elijah", "age": 33},
    {"name": "Kol", "age": 28},
    {"name": "Stefan", "age": 8},
]

print([x for x in lstdict if x["name"] == "Klaus"][0])

Output:

{'name': 'Klaus', 'age': 32}

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

Finding a string in a list in Python

Publish Date:2025/05/09 Views:75 Category:Python

This tutorial shows you how to find elements from a Python list that have a specific substring in them. We will use the following list and extract ack the strings that have in it. my_list = [ "Jack" , "Mack" , "Jay" , "Mark" ] for Find elem

Getting list shape in Python

Publish Date:2025/05/09 Views:139 Category:Python

In Python, knowing the shape of a list is very important for working with data structures, especially when it comes to multidimensional or nested lists. This article explores various ways to determine the shape of a list in Python, from sim

Adding multiple elements to a list in Python

Publish Date:2025/05/09 Views:180 Category:Python

List is a mutable data structure in Python. It can contain values ​​of different types. This article will discuss some methods to append single or multiple elements to a Python list. append() Append a single element in a Python list usi

Get the index of the maximum and minimum values in a list in Python

Publish Date:2025/05/09 Views:117 Category:Python

In this tutorial, we will discuss methods to get the index of the maximum and minimum value of a list in Python. max() Get the index of the maximum value in a list using and list.index() functions in Python max() The function gives the maxi

List of numbers from 1 to N in Python

Publish Date:2025/05/09 Views:116 Category:Python

This tutorial will discuss how to create a list of numbers from 1 to some specified number. Create a user-defined function to create a list of numbers from 1 to N This method will take the desired number from the user and for iterate until

Convert List to Pandas DataFrame in Python

Publish Date:2025/05/09 Views:133 Category:Python

This article will show you how to convert items in a list into a Pandas DataFrame. Convert List to Pandas DataFrame in Python DataFrame, in general, is a two-dimensional labeled data structure. Pandas is an open source Python package that i

Sorting a list by another list in Python

Publish Date:2025/05/09 Views:148 Category:Python

Normally, when we sort a list, we do it in ascending or descending order. However, we can sort a list based on the order of another list in Python. We will learn how to sort a given list based on the values ​​in another list in this art

Normalizing a list of numbers in Python

Publish Date:2025/05/09 Views:134 Category:Python

Normalization means converting the given data to another scale. We rescale the data so that it is between two values. Most of the time, the data is rescaled between 0 and 1. We rescale data for different purposes. For example, machine learn

How to create a list of a specific size in Python

Publish Date:2025/05/09 Views:195 Category:Python

Preallocating storage for a list or array is a common practice among programmers when they know the number of elements in advance. Unlike C++ and Java, in Python you must initialize all preallocated storage with some value. Typically, devel

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial