欢迎访问宙启技术站
智能推送

Python中使用字典的常见函数

发布时间:2023-06-09 08:34:17

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中使用字典的一些常见函数,这些函数可以帮助我们更好地处理和操作字典对象。使用字典对象的目的是为了能够以常量时间的复杂度访问元素,在某些场景下应用非常广泛。掌握以上的函数使用,能够帮助我们更好地使用字典对象进行开发。