Python 添加字典项

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()方法的第三个版本接受以name=value格式表示的关键字参数列表。新的键值对将被添加,或者已有键的值将被更新。

语法

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引入了|(管道符号)作为字典操作数的联合运算符。它会更新左边的字典对象中的现有键,并添加新的键值对,以返回一个新的字典对象。

语法

d3 = d1 | d2

返回值

Union运算符在合并两个字典操作数后返回一个新的字典对象。

示例

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}

使用|=运算符

|=运算符是一个增强的合并运算符。它通过在左操作数的字典上添加右操作数中的新键,并更新现有键来进行原地更新。

语法

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}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程