通过在“;”处拆分值来为字典列表中的特定键的值计数器

龙骨

我有以下列表“list_example”。我正在尝试计算每种最喜欢的食物被选中的次数。我的真实列表中的某些值可能出现在多个键中,因此它应该只计入“最喜欢的食物”。

输入:

list_example = [{'name':'Tom','favouritefood':'Pizza;Fries;Rice'},
                {'name':'Pete','favouritefood':'Pasta;Soup'},
                {'name':'Steve','favouritefood':'Chicken;Fries'},
                {'name':'Steve','favouritefood':'Rice;Pie;Fries'},
                {'name':'Steve','favouritefood':'Chicken,Pizza;Fries'},]

输出:

Count = {'Pizza':2,'Fries':4,'Rice':2,'Soup':1,'Pasta':1,'Pie':1}
丹尼尔·阿弗里耶
import re

list_example = [{'name': 'Tom', 'favouritefood': 'Pizza;Fries;Rice'},
                {'name': 'Pete', 'favouritefood': 'Pasta;Soup'},
                {'name': 'Steve', 'favouritefood': 'Chicken;Fries'},
                {'name': 'Steve', 'favouritefood': 'Rice;Pie;Fries'},
                {'name': 'Steve', 'favouritefood': 'Chicken,Pizza;Fries'}, ]

count = {}
for item in list_example:
    favourite_food = re.split(';|,', item['favouritefood'])
    for food in favourite_food:
        try:
            count[food] += 1
        except KeyError:
            count[food] = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章