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

在Python中向现有字典添加新键值,python,Python,我已经用Python创建了一个字典 Employee = dict(EmpName="Peter", Empid="456", Designation="Country Head") 现在,如果我想在同一本字典中添加这样的内容 Employee.update(EmpName="Suresh", Empid="585", Designation="Director") 请建议。我试图在同一个字典中添加另一个元素。但它不会被添加。您可以简单地执行以下操作: Employee = dict(Em

我已经用Python创建了一个字典

Employee = dict(EmpName="Peter", Empid="456", Designation="Country Head") 
现在,如果我想在同一本字典中添加这样的内容

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

请建议。我试图在同一个字典中添加另一个元素。但它不会被添加。

您可以简单地执行以下操作:

Employee = dict(EmpName="Peter", Empid="456", Designation="Country Head")
...
Employee = dict(EmpName="Suresh", Empid="585", Designation="Director")
而且,如果您想要一个
update()
方法,那么创建一个类
Employee
,其中包含
update()
方法

无论如何,由于字段似乎是固定的,我建议您使用对象
Employee
,其中包含
EmpName
Empid
Designation


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

您只需执行以下操作:

Employee = dict(EmpName="Peter", Empid="456", Designation="Country Head")
...
Employee = dict(EmpName="Suresh", Empid="585", Designation="Director")
而且,如果您想要一个
update()
方法,那么创建一个类
Employee
,其中包含
update()
方法

无论如何,由于字段似乎是固定的,我建议您使用对象
Employee
,其中包含
EmpName
Empid
Designation


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

在我看来,您需要一个包含三个属性列、名称、id和名称的员工表。因此,您的数据有两个维度,员工和属性。一本字典是做不到这一点的

我想你想要的一个方法就是这样。首先用属性定义行结构

>>> from collections import namedtuple
>>> Employee = namedtuple('Employee','EmpName,Empid,Designation')
现在构建employee维度

>>> 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')]

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

在我看来,您需要一个包含三个属性列、名称、id和名称的员工表。因此,您的数据有两个维度,员工和属性。一本字典是做不到这一点的

我想你想要的一个方法就是这样。首先用属性定义行结构

>>> from collections import namedtuple
>>> Employee = namedtuple('Employee','EmpName,Empid,Designation')
现在构建employee维度

>>> 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')]

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

你为什么不自己试试呢?你应该提到你正在尝试什么,你期望什么,以及哪里出了问题。但我怀疑它没有达到你的期望提示:字典键必须是唯一的。请注意,这将覆盖已存储的值。这是你想要的吗?@fl9或是一份口述。或者一个数据库。类似这样的东西怎么样:
Employees={“Peter”:{“Empid”:“456”,“designment”:“国家元首”},“Suresh”:{“Empid”:“585”,“Designation”:“Director”}
?你为什么不自己试试呢?你应该提到你正在尝试什么,你期望什么,以及哪里出了问题。但我怀疑它没有达到你的期望提示:字典键必须是唯一的。请注意,这将覆盖已存储的值。这是你想要的吗?@fl9或是一份口述。或者一个数据库。这样的东西怎么样:
Employees={“Peter”:{“Empid”:“456”,“designment”:“国家元首”},“Suresh”:{“Empid”:“585”,“Designation”:“Director”}