Python - 添加字典项


使用操作员

“[]”运算符(用于访问映射到字典键的值)用于更新现有键值对以及添加新对。

句法

dict["key"] = val

如果字典对象中已经存在该键,则其值将更新为 val。如果字典中不存在该键,则会添加新的键值对。

例子

在此示例中,“Laxman”的分数更新为 95。

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: ", marks)
marks['Laxman'] = 95
print ("marks dictionary after update: ", marks)

它将产生以下输出-

marks dictionary before update: {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update: {'Savita': 67, 'Imtiaz': 88, 'Laxman': 95, 'David': 49}

例子

然而,以“Krishnan”为键的项目在字典中不可用,因此添加了一个新的键值对。

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: ", marks)
marks['Krishan'] = 74
print ("marks dictionary after update: ", marks)

它将产生以下输出-

marks dictionary before update: {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update: {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49, 'Krishan': 74}

使用 update() 方法

您可以通过三种不同的方式使用 dict 类中的 update() 方法:

使用另一个词典更新

在这种情况下, update() 方法的参数是另一个字典。更新两个字典中公共键的值。对于新键,键值对添加到现有字典中

句法

d1.update(d2)

返回值

现有字典已更新,添加了新的键值对。

例子

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: \n", marks)
marks1 = {"Sharad": 51, "Mushtaq": 61, "Laxman": 89}
marks.update(marks1)
print ("marks dictionary after update: \n", marks)

它将产生以下输出-

marks dictionary before update:
{'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update:
{'Savita': 67, 'Imtiaz': 88, 'Laxman': 89, 'David': 49, 'Sharad': 51, 'Mushtaq': 61}

使用可迭代更新

如果 update() 方法的参数是一个列表或两个项目元组的元组,则每个项目都会添加到现有字典中,或者如果键存在则更新。

句法

d1.update([(k1, v1), (k2, v2)])

返回值

现有字典已更新并添加了新键。

例子

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: \n", marks)
marks1 = [("Sharad", 51), ("Mushtaq", 61), ("Laxman", 89)]
marks.update(marks1)
print ("marks dictionary after update: \n", marks)

它将产生以下输出-

marks dictionary before update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 89, 'David': 49, 'Sharad': 51, 'Mushtaq': 61}

使用关键字参数更新

update() 方法的第三个版本接受名称=值格式的关键字参数列表。添加新的 kv 对,或更新现有密钥的值。

句法

d1.update(k1=v1, k2=v2)

返回值

现有字典已更新,添加了新的键值对。

例子

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: \n", marks)
marks.update(Sharad = 51, Mushtaq = 61, Laxman = 89)
print ("marks dictionary after update: \n", marks)

它将产生以下输出-

marks dictionary before update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 89, 'David': 49, 'Sharad': 51, 'Mushtaq': 61}

使用解包操作符

字典对象前面的“**”符号将其解包为元组列表,每个元组都带有键和值。两个dict对象被解包并合并在一起,得到一个新的字典。

句法

d3 = {**d1, **d2}

返回值

两个字典被合并并返回一个新对象。

例子

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: \n", marks)
marks1 = {"Sharad": 51, "Mushtaq": 61, "Laxman": 89}
newmarks = {**marks, **marks1}
print ("marks dictionary after update: \n", newmarks)

它将产生以下输出-

marks dictionary before update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 89, 'David': 49, 'Sharad': 51, 'Mushtaq': 61}

使用联合运算符 (|)

Python引入了“|” (管道符号)作为字典操作数的并集运算符。它更新左侧 dict 对象中的现有键,并添加新的键值对以返回新的 dict 对象。

句法

d3 = d1 | d2

返回值

Union 运算符合并两个 dict 操作数后返回一个新的 dict 对象

例子

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: \n", marks)
marks1 = {"Sharad": 51, "Mushtaq": 61, "Laxman": 89}
newmarks = marks | marks1
print ("marks dictionary after update: \n", newmarks)

它将产生以下输出-

marks dictionary before update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 89, 'David': 49, 'Sharad': 51, 'Mushtaq': 61}

使用“|=”运算符

“|=”运算符是增强的 Union 运算符。它通过在右侧操作数中添加新键并更新现有键来对左侧字典操作数执行就地更新。

句法

d1 |= d2

例子

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
print ("marks dictionary before update: \n", marks)
marks1 = {"Sharad": 51, "Mushtaq": 61, "Laxman": 89}
marks |= marks1
print ("marks dictionary after update: \n", marks)

它将产生以下输出-

marks dictionary before update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 91, 'David': 49}
marks dictionary after update:
 {'Savita': 67, 'Imtiaz': 88, 'Laxman': 89, 'David': 49, 'Sharad': 51, 'Mushtaq': 61}