Python中使用字典的常见函数
Python中的字典是一种非常有用的数据结构,可以用来存储键/值对,其访问时间复杂度为常数时间。字典提供了各种内置函数,可以轻松地对字典进行操作。本文将讨论Python中使用字典的常见函数。
### 1. dict()
dict()是Python内置函数之一,用于创建一个新的字典对象。其可以接受一个映射对象作为参数,也可以接受关键字参数用来初始化一个新的空字典。例如:
# 创建一个空字典
my_dict = dict()
# 使用映射对象创建字典
my_dict = dict({'a': 1, 'b': 2, 'c': 3})
# 使用关键字参数初始化空字典
my_dict = dict(a=1, b=2, c=3)
### 2. clear()
clear()是Python字典对象的方法,用于删除字典中所有的键/值对。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict.clear()
print(my_dict) # {}
### 3. copy()
copy()是Python字典对象的方法,用于创建一个字典的拷贝。拷贝的方式是浅拷贝,即拷贝后的字典和原字典共享子对象。例如:
my_dict = {'a': 1, 'b': [2, 3, 4]}
new_dict = my_dict.copy()
# 改变原字典键'b'对应的值
my_dict['b'].append(5)
print(my_dict) # {'a': 1, 'b': [2, 3, 4, 5]}
print(new_dict) # {'a': 1, 'b': [2, 3, 4, 5]}
可以看到,修改原字典的'b'键对应的值,同时新字典的'b'键对应的值也发生了变化。
### 4. fromkeys()
fromkeys()是Python字典对象的方法,用于创建一个新字典并使用给定的键来初始化所有的值。例如:
keys = ['a', 'b', 'c']
values = 0
my_dict = dict.fromkeys(keys, values)
print(my_dict) # {'a': 0, 'b': 0, 'c': 0}
可以看到,使用keys列表中的键初始化了一个新的字典对象,并使其所有的值都为0。
### 5. get()
get()是Python字典对象的方法,在字典中根据键获取对应的值。如果该键不存在,则返回None,也可以传入一个默认值,若键不存在则返回该默认值。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict.get('a')) # 1
print(my_dict.get('d')) # None
print(my_dict.get('d', 4)) # 4
可以看到,字典中存在'a'键,可以获取其对应的值1;字典中不存在'd'键,使用get()默认返回None;可以传递一个默认值4,如果键不存在则返回该默认值。
### 6. items()
items()是Python字典对象的方法,返回所有的键值对,以元组的形式返回。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict.items())
# dict_items([('a', 1), ('b', 2), ('c', 3)])
可以看到,使用items()返回一个元组列表,其中每个元组包含字典中的一个键和对应的值。
### 7. keys()
keys()是Python字典对象的方法,返回所有的键,以列表的形式返回。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict.keys())
# dict_keys(['a', 'b', 'c'])
可以看到,使用keys()返回一个包含字典中所有键的列表。
### 8. pop()
pop()是Python字典对象的方法,用于从字典中弹出指定键,并返回对应的值。如果指定的键不存在,则抛出KeyError异常。可以使用可选参数default来指定键不存在时返回的默认值。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict.pop('a')) # 1
print(my_dict) # {'b': 2, 'c': 3}
print(my_dict.pop('d', 'Not Found')) # Not Found
print(my_dict.pop('d')) # 抛出KeyError异常
可以看到,使用pop()弹出键'a',并返回对应的值1;键'd'不存在,传入默认值'Not Found',返回该默认值;尝试使用pop()弹出一个不存在的键会抛出KeyError异常。
### 9. setdefault()
setdefault()是Python字典对象的方法,用于根据键获取值,如果键不存在,则将其插入字典中并设置一个默认值。如果键已存在,则返回其对应的值。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict.setdefault('d', 4)) # 4
print(my_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
print(my_dict.setdefault('a', 5)) # 1
print(my_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
可以看到,使用setdefault()获取一个不存在的键'd',并传入默认值4,将该键和对应的值插入字典中;再次使用setdefault()获取已存在的键'a',返回其对应的值1,不会修改字典。
### 10. update()
update()是Python字典对象的方法,用于将一个字典更新到另一个字典中,可以用另一个字典对象、键/值对序列或包含键值对的可迭代序列作为参数。例如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
new_dict = {'d': 4, 'e': 5}
my_dict.update(new_dict)
print(my_dict) # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
可以看到,使用update()将new_dict更新到my_dict中,my_dict包含了new_dict中的所有键/值对。
总结:本文介绍了Python中使用字典的一些常见函数,这些函数可以帮助我们更好地处理和操作字典对象。使用字典对象的目的是为了能够以常量时间的复杂度访问元素,在某些场景下应用非常广泛。掌握以上的函数使用,能够帮助我们更好地使用字典对象进行开发。
