【发布时间】:2019-07-13 14:13:09
【问题描述】:
假设我有一个这样的名字列表:names = ['James','Bruce','John']
还有这样的字典:
dict= {
'James':{ 'Job' :'Engineer'},
'Bruce':{'Job' : 'Engineer'},
'John':{'Job' :'Doctor'}
}
我想创建一个字典来计算“医生”或“工程师”在字典中出现的次数,因此输出将类似于:count = {'Doctor':1, 'Engineer':2}.
我的解决方案是创建一份工作列表,然后计算该工作在列表中出现的次数,如下所示:
job_list=[]
count ={}
for k in names:
job_list.append(dict[k]['Job'] #( so i can have a list like this:
#job_list = ['Engineer','Engineer','Doctor'])
for i in job_list:
count[i] = 0
for i in job_list:
count[i] += 1
有没有更快的方法来做到这一点?
【问题讨论】:
-
欢迎来到 SO。在minimal reproducible example 的意义上,请注意您提供的代码是可执行的。字典不是有效的 python 代码。也就是说,这里有一个 nested 字典。你真的必须坚持这个设置吗?我认为有更好的方法来存储这种数据......
标签: python database list loops dictionary