我有这样一个动态列表:
list = [{'Question 1': {'Job': 'job1', 'Country': 'USA', 'Car': 'Porche'}},
{'Question 1': {'Job': 'job2', 'Country': 'UK', 'Car': 'Nissan'}},
{'Question 3': {'Job': 'job8', 'Country': 'GR', 'Car': 'Toyota'}},
{'Question 4': {'Job': 'job1', 'Country': 'USA', 'Car': 'Toyota'}},
{'Question 4': {'Job': 'job5', 'Country': 'USA', 'Car': 'Toyota'}},
{'Question 4': {'Job': 'job5', 'Country': 'USA', 'Car': 'Porche'}},
]
列表中的每个字典都是回答问题(问题1、问题2…)的用户,列表字典中的每个字典都是配置文件。我想做这样的搜索(或比较):
^{pr2}$我怎么能这样比较呢?在
提前谢谢
这里我们可以使用^{} :
我将
list
重命名为answers
,以避免与list()
内置函数混淆。在
^{pr2}$Counter
对列表中的单个项进行计数,因此我们这里要做的是使用列表理解从列表中提取单个项—因为问题似乎并不重要,给定您的示例,然后使用计数器对它们进行计数。请注意,这是一个相当复杂的列表理解,因为您的数据结构有点笨拙,您可能需要考虑更改它。然后返回:如果您想选择单独的东西,您可以这样做,例如:
这给了我们:
如果您需要计算回答上述问题的用户数量,只需通过更改列表理解功能选择的内容来更改计数器的焦点,例如:
这给了我们:
而且
Counter
对象是dict
的,因此您可以像使用dict
一样使用它们:在不使用不同的数据结构的情况下,最好的办法是使用列表理解或一些相关的构造来过滤列表。(顺便说一句,“列出清单”毫无意义。你指的是“dict list”还是“list of dicts”?)也不要使用
list
作为变量名;它屏蔽了一个内置函数。在对于仅获取计数,可以执行以下操作以避免创建新列表:
^{pr2}$相关问题 更多 >
编程相关推荐