Python 3: How to convert array to list of dictionary?
<pre><code>def get_list(name, ids):
    single_database = {}  
    database = [] 
    for id in ids:
        single_database['id'] = id
        single_database['name'] = name
        database.append(single_database.copy()) 

    return database

input = [{'name': 'David', 'id': ['d1','d2']},
            {'name':'John', 'id': ['j1','j2']}]

for single_database in input:
        get_list(single_database['name'], single_database['id'])
</code></pre>

<p>Hello,
I want to convert the above "input" array to list of dictionary, so I wrote the code to convert them. However, "get_list" function only release the last dictionary. So, how to get all list of dictionary and keep using "get_list" function. Also, except my way, there is any way to convert this input faster ?</p>

<p>This is the output I want:</p>

<pre><code>{'id': 'd1', 'name': 'David'}
{'id': 'd2', 'name': 'David'}
{'id': 'j1', 'name': 'John'}
{'id': 'j2', 'name': 'John'}
</code></pre>

<p>You can build this in single line of code, Beauty of python</p>

<pre><code>result = [{'id':j,'name':i['name']} for i in input_dict for j in i['id']]
</code></pre>

<p><strong>Result</strong>  </p>

<pre><code>[{'id': 'd1', 'name': 'David'},
 {'id': 'd2', 'name': 'David'},
 {'id': 'j1', 'name': 'John'},
 {'id': 'j2', 'name': 'John'}]
</code></pre>

python arrays dictionary