Most Efficient Way To Search In List Of Dicts
I have the following list of dicts. people = [ {'name': 'Tom', 'age': 10}, {'name': 'Mark', 'age': 5}, {'name': 'Pam', 'age': 7} ] Which would be the most optimized way in terms o
Solution 1:
Doing a quick timeit on the functions show that using filter seems to be the fastest of all the methods
%timeit filter(lambda person: person['name'] == 'Pam', people)
1000000 loops, best of 3: 263 ns per loop
- Using next produces a time of 731ns
- Using the search method produces a time of 361ns
- And lastly the seach_dictionaries uses 811ns
Solution 2:
If you are searching for a single item then this is the "best" approach
defsearch(name):
for p in people:
if p['name'] == name:
return p
All the other implementations will iterate over all the items in the list, whereas this one will stop once the item is found
Post a Comment for "Most Efficient Way To Search In List Of Dicts"