简体   繁体   English

我如何创建此词典列表

[英]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. 但这没用。

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. 其中my_list是问题中提到的dict列表。

In case you want to remove the 'name_field' value of the resulting dict, you can create the new dict as: 如果您要删除结果字典的'name_field'值,则可以将新dict创建为:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM