Search in list of dictionaries with lookups! Like in ORM!
Project description
About
Search in list of dictionaries with lookups! Like in ORM!
Say goodbye to complicated loops and conditions when searching through lists of dictionaries!
With this simple Python tool, you can easily filter and find what you need using ORM-style lookups, making data searches
feel smooth and intuitive.
How to install
How to use
You can search non-complex types like int, string, bool, etc. in list
from list_search import search
lst = [1, 2, 3, 'apple', 'banana', True, False]
result = search(lst, 'apple')
Output
['apple']
Or you can search complex objects - list or dict. If list - finds full match. If dict - finds by fields
The advantage of this approach is that you can put ONLY the fields you need, NOT the whole dict!
Lookups: ["__in","__any","__gt","__gte","__lt","__lte","__isnull"]. Up to date lookups you can find
in SUPPORTED_FILTERING_LOOKUPS
from list_search import search
lst = [
{
"author": {
"name": "John",
"last_name": "Wick",
},
"books": [
"Book 1",
"Book 2"
],
"birth_year": 1950
},
{
"author": {
"name": "Jack",
"last_name": "Thompson",
},
"books": [
"Another Book 1",
"Another Book 2"
],
"birth_year": 1930
}
]
# search by the fields you need WITH LOOKUPS!
# You can put only one field, and the elements will be filtered out.
query = {
"author.name": "John",
"books__in": ["Book 2"],
"birth_year__gte": 1945
}
result = search(lst, query)
Output
{
"author": {
"name": "John",
"last_name": "Wick",
},
"books": [
"Book 1",
"Book 2"
],
"birth_year": 1950
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file list_search-0.1.1.tar.gz.
File metadata
- Download URL: list_search-0.1.1.tar.gz
- Upload date:
- Size: 2.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90b018a09b634b32910ae4aad8e4a875ba722f785a7acd600eb85e1677af5b4c
|
|
| MD5 |
0edf99bc14f907f1c0e7265c49e62ced
|
|
| BLAKE2b-256 |
f39292cb38eee66b2b90430063e2178c6eaf0648eb899bf717ef91e1236ff6ad
|