Vladleelee Lee
Vladleelee Lee

Reputation: 47

How can I create this list of dicts

I have a list of dicts

[{'name_field': u'casino_logo', 'contentid_id': 15L, 'value': u'assets/images/crown.png', 'title': u'Royal casino casino4'}, {'name_field': u'casino_logo', 'contentid_id': 16L, 'value': u'assets/images/crown.png', 'title': u'Royal casino casino1'}, {'name_field': u'casino_logo', 'contentid_id': 17L, 'value': u'assets/images/crown.png', 'title': u'Royal casino casino3'}, {'name_field': u'casino_logo', 'contentid_id': 18L, 'value': u'assets/images/crown.png', 'title': u'Royal casino casino2'}, {'name_field': u'raiting_casino', 'contentid_id': 15L, 'value': u'9.9', 'title': u'Royal casino casino4'}, {'name_field': u'raiting_casino', 'contentid_id': 16L, 'value': u'9', 'title': u'Royal casino casino1'}, {'name_field': u'raiting_casino', 'contentid_id': 17L, 'value': u'8.2', 'title': u'Royal casino casino3'}, {'name_field': u'raiting_casino', 'contentid_id': 18L, 'value': u'9.3', 'title': u'Royal casino casino2'}, {'name_field': u'bonus_code', 'contentid_id': 15L, 'value': u'AX777', 'title': u'Royal casino casino4'}, {'name_field': u'bonus_code', 'contentid_id': 16L, 'value': u'AX7772', 'title': u'Royal casino casino1'}, {'name_field': u'bonus_code', 'contentid_id': 17L, 'value': u'AX777', 'title': u'Royal casino casino3'}, {'name_field': u'bonus_code', 'contentid_id': 18L, 'value': u'AX7772', 'title': u'Royal casino casino2'}, {'name_field': u'bonus_summa', 'contentid_id': 15L, 'value': u'200', 'title': u'Royal casino casino4'}, {'name_field': u'bonus_summa', 'contentid_id': 16L, 'value': u'200', 'title': u'Royal casino casino1'}, {'name_field': u'bonus_summa', 'contentid_id': 17L, 'value': u'200', 'title': u'Royal casino casino3'}, {'name_field': u'bonus_summa', 'contentid_id': 18L, 'value': u'200', 'title': u'Royal casino casino2'}, {'name_field': u'bonus_min_depozit', 'contentid_id': 15L, 'value': u'1000000', 'title': u'Royal casino casino4'}, {'name_field': u'bonus_min_depozit', 'contentid_id': 16L, 'value': u'1000000', 'title': u'Royal casino casino1'}, {'name_field': u'bonus_min_depozit', 'contentid_id': 17L, 'value': u'1000000', 'title': u'Royal casino casino3'}, {'name_field': u'bonus_min_depozit', 'contentid_id': 18L, 'value': u'1000000', 'title': u'Royal casino casino2'}, '...(remaining elements truncated)...']

How can I get the structure

{casinos:[{'id':16,'title':Royal casino casino3,'fields':[{'name_feild':'bonus_min_depozit','value':'10',...}],...}]}

I tried:

for item in casinos:  
    info_casino[item['contentid_id']].append({'name_field':item['name_field'],'value':item['value']}) 
    casino[item['contentid_id']] = {'fields':info_casino[item['contentid_id']],'title':item['title']}

but it didn't work.

Upvotes: 0

Views: 42

Answers (1)

Moinuddin Quadri
Moinuddin Quadri

Reputation: 48090

You can use a "dictionary comprehension" to achieve this as:

my_dict = {item['name_field']: item for item in my_list}

where my_list is the list of dict as is mentioned in the question.

In case you want to remove the 'name_field' value of the resulting dict, you can create the new dict as:

my_dict = {}
for item in my_list:
    my_dict[item['name_field']] = item
    del item['name_field']

Upvotes: 1

Related Questions