I have some dictionaries of dictionaries, like this:
a['b']['c']['d']['answer'] = answer1
a['b']['c']['e']['answer'] = answer2
a['b']['c']['f']['answer'] = answer3
....
a['b']['c']['d']['conf'] = conf1
a['b']['c']['e']['conf'] = conf2
a['b']['c']['f']['conf'] = conf3
Is there a fast way to get a list of values of all answers for all elements at the third level (d,e,f)?
Specifically I'd like to know if there's any mechanism implementing a wildcard (e.g., a['b']['c']['*']['answer'].values()
update The fastest way I've found till now is:
[x['answer'] for x in a['b']['c'].values()]
In Python3 we can build a simple generator for this:
The output is:
which is all of the values.
You could use a simple list comprehension:
If you want to get all the answers and conf etc. You could do:
Just to give an answer to this topic, copying my solution from the "updating status" of my question:
Hope this can help.
I would do that using recursive generator function:
Example:
In your case, this would give a dictionary like
{'answer': answer1, 'conf': conf1}
as each item, so you can use: