如何在Python中添加到字典

引言

字典是Python中的内置数据类型。字典是一系列的键-值对。字典是可变对象,但是字典的键是不可变的,并且需要在每个字典中是唯一的。没有内置的添加方法,但有多种方式可以向字典中添加和更新数据。在本文中,您将使用Python的赋值运算符、update()方法以及合并和更新字典操作符来添加和更新Python字典。

Info

使用Silicon Cloud App Platform从GitHub部署您的Python应用程序。让Silicon Cloud专注于扩展您的应用。

使用“=”分配运算符将内容添加到字典中。

你可以使用等号(=)赋值运算符来向字典中添加一个新的键。

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添加了新的键值对。

在向字典中添加值时,避免覆盖现有的值

使用 = 赋值运算符会覆盖现有键的值为新值。如果您知道您的程序可能有重复的键,但是不想要覆盖原始值,则可以使用 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()方法将内容添加到字典中

可以使用update()方法将字典或键值对的可迭代对象添加到字典中。update()方法会用新的值覆盖现有键的值。

下面的例子演示了如何创建一个新的字典,使用update()方法来添加新的键-值对和新的字典,并打印出每个结果。

site = {'Website':'Silicon Cloud', '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’: ‘Silicon Cloud’, ‘Tutorial’: ‘How To Add to a Python Dictionary’} updated with Author: {‘Website’: ‘Silicon Cloud’, ‘Tutorial’: ‘How To Add to a Python Dictionary’, ‘Author’: ‘Sammy Shark’} updated with new dictionary: {‘Website’: ‘Silicon Cloud’, ‘Tutorial’: ‘How To Add to a Python Dictionary’, ‘Author’: ‘Sammy Shark’, ‘Guest1’: ‘Dino Sammy’, ‘Guest2’: ‘Xray Sammy’}

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

使用合并操作符向字典添加新内容

您可以使用字典合并操作符 “|” (表示为竖线字符),将两个字典合并并返回一个新的字典对象。

以下示例说明了如何创建两个字典,并使用合并操作符创建一个新的字典,其中包含来自两者的键-值对。

site = {'Website':'Silicon Cloud', '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’: ‘Silicon Cloud’, ‘Tutorial’: ‘How To Add to a Python Dictionary’, ‘Author’: ‘Sammy’} guests: {‘Guest1’: ‘Dino Sammy’, ‘Guest2’: ‘Xray Sammy’} new_site: {‘Website’: ‘Silicon Cloud’, ‘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覆盖。

使用更新 |= 运算符添加到字典中

你可以使用字典的更新“|=”运算符,用管道和等号字符表示,以原地更新字典与给定的字典或值。

就像合并 | 运算符一样,如果一个键存在于两个字典中,那么更新 |= 运算符会使用右操作数的值。

以下示例展示了如何创建两个字典,使用更新操作符将第二个字典附加到第一个字典,然后打印更新后的字典。

site = {'Website':'Silicon Cloud', '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’: ‘Silicon Cloud’, ‘Tutorial’: ‘How To Add to a Python Dictionary’, ‘Author’: ‘Sammy’, ‘Guest1’: ‘Dino Sammy’, ‘Guest2’: ‘Xray Sammy’}

在之前的例子中,你不需要创建一个第三个字典对象,因为更新操作符会修改原始对象。输出显示客人字典被追加到了原始的站点字典中。

结论 (jié

在这篇文章中,你使用了不同的方法来添加和更新Python字典。继续通过更多的Python教程来学习。

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds