Python 我如何计算字典中每个标题的数量

Python 我如何计算字典中每个标题的数量,python,dictionary,Python,Dictionary,我一直在试图弄明白这一点有一段时间了,不是最好的编程。这是我到目前为止所拥有的 字典的关键字应该是公司员工的头衔 列出具有该特定职称的员工的数量和值 员工=[ { “电子邮件”:“jonathan2532。calderon@gmail.com", “员工id”:101, “名字”:“乔纳森”, “姓氏”:“卡尔德隆”, “头衔”:“先生”, “工作电话”:(02)36915845 }, { “电子邮件”:“克里斯托弗8710。hansen@gmail.com", “员工id”:102, “名字”

我一直在试图弄明白这一点有一段时间了,不是最好的编程。这是我到目前为止所拥有的

字典的关键字应该是公司员工的头衔 列出具有该特定职称的员工的数量和值

员工=[
{
“电子邮件”:“jonathan2532。calderon@gmail.com",
“员工id”:101,
“名字”:“乔纳森”,
“姓氏”:“卡尔德隆”,
“头衔”:“先生”,
“工作电话”:(02)36915845
},
{
“电子邮件”:“克里斯托弗8710。hansen@gmail.com",
“员工id”:102,
“名字”:“克里斯托弗”,
“姓氏”:“汉森”,
“头衔”:“先生”,
“工作电话”:(02)58078580
},
{
“电子邮件”:“isabella4643。dorsey@gmail.com",
“员工id”:103,
“名字”:“伊莎贝拉”,
“姓氏”:“多尔西”,
“头衔”:“夫人”,
“工作电话”:(02)6375 1060
},
{
“电子邮件”:“barbara1937。baker@gmail.com",
“员工id”:104,
“名字”:“芭芭拉”,
“姓氏”:“贝克”,
“标题”:“Ms”,
“工作电话”:(03)57294873
}
]
#我的作品
对于我的员工:
打印(i[“标题])
雇员人数(‘头衔’)
打印()
#我的输出:
先生
先生
夫人
太太

使用
collections.defaultdict

Ex:

from collections import defaultdict

result = defaultdict(int)
for i in employees:
    result[i["title"]] += 1
print(result)
defaultdict(<type 'int'>, {'Mrs': 1, 'Ms': 1, 'Mr': 2})
输出:

from collections import defaultdict

result = defaultdict(int)
for i in employees:
    result[i["title"]] += 1
print(result)
defaultdict(<type 'int'>, {'Mrs': 1, 'Ms': 1, 'Mr': 2})
defaultdict(,{'Mrs':1,'Ms':1,'Mr':2})

如果有任何记录没有
标题
字段,请使用:

counts = Counter([x.get("title", None) for x in employees])
# Counter({'Mr': 2, 'Mrs': 1, 'Ms': 1, None: 1})

在这里,
.get
将获取
标题的值
,如果
标题
不存在,则返回

您可以使用计数器执行此操作:

from collection import Counter
titles = [e['title'] for e in employees]
counts = Counter(titles)
# Counter({'Mr': 2, 'Mrs': 1, 'Ms': 1})

提供您正在描述的输出的代码在哪里?在上面放个柜台!谢谢@meowgoes,如果您要从
集合导入,那么@meowgoes也可以使用
计数器
。非常有用,我最后使用了计数器:)