如何轻松添加和更新Python字典

0 股票
0
0
0
0

介绍

字典是 Python 内置的数据类型。它由一系列键值对组成,每个键都是唯一的,并对应一个值。字典是可变对象,这意味着你可以更改其内容而不会改变其自身。但是,字典的键是不可变的,并且在每个字典中必须是唯一的。这使得字典在搜索、插入和删除操作方面非常高效。.

字典在 Python 中用途广泛,例如统计出现次数、数据分组和存储设置等。尽管字典功能强大,但 Python 本身并没有内置的追加方法。不过,Python 提供了多种向字典添加或更新数据的方法,每种方法都有其自身的用途和优势。.

本文将介绍添加和更新 Python 字典的不同方法。您将学习如何使用 Python 的赋值运算符、`update()` 方法以及字典的合并和更新运算符。完成本教程后,您将对如何在 Python 程序中有效地管理和操作字典有深入的了解。.

使用赋值运算符 = 向 Python 字典中添加内容

要向字典中添加新键,可以使用 = 赋值运算符:

dict[key] = value

如果字典中已存在某个键,赋值运算符会更新或覆盖该键的值。.

以下示例展示了如何创建一个新字典,然后使用赋值运算符 = 来更新值并添加键值对:

dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add 
print("updated dictionary: ", dict_example)

输出结果为:

Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}

输出结果显示,a 的值被新值覆盖,b 的值保持不变,并且为 c 和 d 添加了新的键值对。.

向 Python 字典添加值而不覆盖现有值

使用赋值运算符 = 会将现有键的值替换为新值。如果您知道应用程序可能存在重复键,但不想覆盖原始值,则可以使用 if 语句有条件地添加值。.

继续上一节的例子,您可以使用 if 语句仅向字典中添加新的键值对:

dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add 
print("updated dictionary: ", dict_example)
# add the following if statements
if 'c' not in dict_example.keys():
dict_example['c'] = 300
if 'e' not in dict_example.keys():
dict_example['e'] = 5
print("conditionally updated dictionary: ", dict_example)

输出结果为:

Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

输出结果显示,由于 if 条件的存在,当字典有条件地更新时,c 的值不会改变。.

使用 update() 方法向 Python 字典中添加元素。.

您可以使用 update() 方法向字典中添加新字典或重复的键值对。update() 方法会将现有键的值覆盖为新值。.

以下示例展示了如何创建一个新字典,使用 update() 方法添加一个新的键值对和一个新的字典,并打印每个结果:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)
# update the dictionary with the author key-value pair
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)
# create a new dictionary
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
# update the original dictionary with the new dictionary
site.update(guests)
print("updated with new dictionary: ", site)

输出结果为:

Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'}
updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'}
updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

输出结果显示,第一次更新添加了一个新的键值对,第二次更新将访客字典中的键值对添加到站点字典中。请注意,如果字典更新中包含已存在的键,则旧值将被更新覆盖。.

使用 Merge | 运算符向 Python 字典中添加内容

您可以使用字典合并运算符 |(用竖线字符表示)来合并两个字典并返回一个新的字典对象。.

以下示例展示了如何创建两个字典,并使用合并运算符创建一个包含两个字典中键值对的新字典:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
new_site = site | guests
print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)

输出结果为:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'}
guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

这两个字典合并成一个新的字典对象,其中包含了两个字典中的键值对。.

如果一个键同时存在于两个字典中,则该键的值取自第二个字典,即右侧操作数。在下面的示例代码中,两个字典都有一个名为 b 的键:

dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}
dict3 = dict1 | dict2
print{"dict3: ", dict3}

输出结果为:

Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}

键 b 的值被右侧操作数 dict2 的值覆盖。.

使用 update |= 运算符向 Python 字典添加内容

您可以使用字典更新运算符 |=(用竖线和等号字符表示)来使用给定的字典或值就地更新字典。.

与合并运算符 | 类似,如果一个键同时存在于两个字典中,则更新运算符 |= 会从右操作数中获取该键的值。.

以下示例展示了如何创建两个字典,使用更新运算符将第二个字典追加到第一个字典,然后打印更新后的字典:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
site |= guests
print("site: ", site)

输出结果为:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

在前面的例子中,你不需要创建第三个字典对象,因为更新运算符会修改原始对象。输出结果显示,访客字典已追加到网站的主字典中。.

结果

本文中,你使用了不同的方法来添加和更新Python字典。.

一条评论
发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢