I might be missing something, but why does afilter not get dict/list values? Any specific reason for that?
data = [
{
"choices": [
"Charity",
"Cooperative",
"Corporation",
"Educational institution",
"Public entity",
"International organisation"
]
},
{
"items": [
{
"choices": "country"
}
],
}
]
def afilter(x):
print x
return True
res = dpath.util.search(data, "**/choices", yielded=True, afilter=afilter)
Running this results in ...
country
('1/items/0/choices', 'country')
Or to phrase it differently: how can I search for elements which include "Charity"? My current solution looks like this:
res = dpath.util.search(data, "**/choices", yielded=True)
for item in res:
val = dpath.util.get(data, item[0])
if "Charity" in val:
print item[0]
But that would be much simpler if afilter also gets the list of the first element.
I might be missing something, but why does
afilternot get dict/list values? Any specific reason for that?Running this results in ...
Or to phrase it differently: how can I search for elements which include "Charity"? My current solution looks like this:
But that would be much simpler if
afilteralso gets the list of the first element.