您的位置:

深入了解Python字典更新

一、基本概念

Python中的字典是一种无序、可变的容器,存储的是key-value键值对。在Python中,字典的更新指的是向字典中添加或修改键值对的操作。Python提供了多种方式来更新字典,具体如下。

二、直接赋值

Python中可以直接利用键值对的形式实现对字典的元素的修改和添加,方法简单但需要注意两个点。


# 修改
d = {'a': 1, 'b': 2}
d['a'] = 3 # 将'a'对应的值从1修改为3
print(d) # {'a': 3, 'b': 2}

# 添加
d['c'] = 4 # 添加一个键值对'c':4
print(d) # {'a': 3, 'b': 2, 'c': 4}

注意事项:

首先,如果赋值的键已经存在,则会修改该键值对应的值;若键不存在,则是直接新增一个键值对。

其次,在Python中字典是一个可变对象,如果将一个字典赋值给另一个变量,改变其中一个变量的值,另一个变量的值也会随之改变。

三、update()方法

Python字典提供了update()方法来实现不断添加和修改键值对的需求。


# 修改
d = {'a': 1, 'b': 2}
d.update({'a': 3}) # 将原先的'a':1改为'a':3
print(d) # {'a': 3, 'b': 2}

# 添加一个或多个键值对
d.update({'c': 3, 'd': 4})
print(d) # {'a': 3, 'b': 2, 'c': 3, 'd': 4}

update()方法可以接受一个字典或可迭代对象作为参数,将其合并到原字典中。如果存在相同的键值,则后者将会覆盖前者。

四、fromkeys()方法

fromkeys()方法可以通过一系列的键创建新的字典,且这些键对应的值都是默认值。这个默认值作为参数传递给 fromkeys()函数。如果不指定默认值,则默认为 None。


# 创建一个空字典
d1 = {}
print(d1)

# 通过键名创建一个新字典
d2 = dict.fromkeys(['name', 'age', 'sex'])
print(d2)

# 指定所有键的默认值都为 0
d3 = dict.fromkeys(['name', 'age', 'sex'], 0)
print(d3)

五、setdefault()方法

setdefault()方法用于获取指定键的值,如果该键不存在于字典中,则返回默认值 None,并可以在字典中添加此键值对。


d = {'a': 1, 'b': 2}
d.setdefault('c', 3)
print(d) # {'a': 1, 'b': 2, 'c': 3}

d.setdefault('a', 4)
print(d) # {'a': 1, 'b': 2, 'c': 3}

如果指定键已经存在,则该方法返回原有的值,而不进行任何操作。

六、小结

以上就是Python字典更新的几种方式,包括直接赋值、update()方法、fromkeys()方法以及setdefault()方法。不同的方式适用于不同的场景,有了这些方法,我们可以更加轻松地对字典进行操作,提高代码的可读性和健壮性。