我试图输出一个以部门标题为键的字典,以及一个仅以该部门中的员工作为其对应值的字典列表。我很接近,但是当我运行这个函数时,dep\u dict会将所有部门员工附加到每个键上。它就是这样做的:
{
department1: [{employee A info}, {employee B info}],
department2: [{employee A info}, {employee B info}]
}
#Function for adding employees to dictionary by department
def dep_emp():
for x in dep_tup:
for names in employees:
if x == employees[names]["em_department"]:
dep_list.append(employees[names])
dep_dict[x] = dep_list
continue
但是它应该是这样的(如果有两个部门),假设雇员A为部门1工作,雇员B为部门2工作:
{
department1: [{employee A info}],
department2: [{employee B info}]
}
注:dep\u tup是用户输入的所有部门名称的元组,employees是由所有员工及其信息组成的字典(key=employeename)
您可以为每个
name in employees
避免dep_dict[x] = dep_list
。你知道吗您必须为每个部门重置/重新定义
dep_list
:您的数据结构dep\u list只需获取员工列表中的所有员工。写下这句话:
实际上,您将每个“x”映射到一个对dep\u list的引用,不管发生什么,这个引用都是相同的。相反,您要做的是将员工[姓名]添加到存储在每个部门目录[x]中的独立列表中。如果密钥尚未存储在dep\u dict中,则可以初始化一个列表,如果该密钥已经存在,则可以将其连接到employees[names]中。你知道吗
相关问题 更多 >
编程相关推荐