在Python中向现有字典添加新键值

时间:2018-05-11 11:02:35

标签: python

我用Python创建了一个字典。

Employee = dict(EmpName="Peter", Empid="456", Designation="Country Head") 

现在,如果我想添加相同的字典,就像这样。

Employee.update(EmpName="Suresh", Empid="585", Designation="Director")

请建议。我想在同一个字典中添加另一个元素。但它没有被添加。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

Employee = dict(EmpName="Peter", Empid="456", Designation="Country Head")
...
Employee = dict(EmpName="Suresh", Empid="585", Designation="Director")

并且,如果您想要update()方法,请创建一个包含Employee方法的类update()

无论如何,由于字段似乎已修复,我建议您使用对象Employee,其中包含字段EmpNameEmpidDesignation。< / p>

使用对象(代替几个字典对象)的一个主要好处是,您将能够键入(并且然后信任每个元素的内容)Employee集合的对象。其中,操纵字典集合可能只会导致您缺少字段或每个字段的不同标签。

答案 1 :(得分:1)

在我看来,您需要一个包含3个属性列的员工表,名称 id 名称。因此,您的数据有2个维度,员工与属性。你不能用一本字典做到这一点。

做我认为你想要的一种方法就是这样。首先使用属性定义行结构。

>>> from collections import namedtuple
>>> Employee = namedtuple('Employee','EmpName,Empid,Designation')

现在构建员工维度。

>>> employees = []
>>> employees.append(Employee(EmpName="Peter", Empid="456", Designation="Country Head"))
>>> employees.append(Employee(EmpName="Suresh", Empid="585", Designation="Director"))
>>> employees
[Employee(EmpName='Peter', Empid='456', Designation='Country Head'), Employee(EmpName='Suresh', Empid='585', Designation='Director')]

虽然这是我认为你想要的,但我必须指出它不是一个非常有用的数据结构,无法进一步处理。例如,更新很困难。假设Suresh晋升为董事总经理。更新此数据结构以反映这一点的唯一方法是搜索所有员工以查找要更新的数据。或者假设一名员工辞职:同上。