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

如何使用Python的字典(Dict)函数

发布时间:2023-05-28 21:15:10

Python的字典是一种无序可变类型的数据结构,它以键值对的形式存储数据,其中键是 的,由哈希值确定,而值则可以重复。字典是Python中最常用和优雅的数据类型之一,它允许我们快速地查找、插入和删除数据。本文将介绍Python中常用的字典函数,以帮助读者更加流畅地使用这种数据结构。

1. 创建字典

在Python中创建字典非常简单,我们可以使用{}或dict()函数来创建一个字典。

#使用{}创建字典,键值对用逗号隔开

dict1 = {'name': 'Tom', 'age': 18, 'city': 'Beijing'}

print(dict1)

#使用dict()创建字典,调用时输入键值对,用逗号隔开

dict2 = dict(name = 'Lucy', age = 23, city = 'Shanghai')

print(dict2)

输出结果为:

{'name': 'Tom', 'age': 18, 'city': 'Beijing'}

{'name': 'Lucy', 'age': 23, 'city': 'Shanghai'}

2. 访问字典

我们可以使用方括号或get()函数来访问字典中的键值对。

#使用方括号访问字典

print(dict1['name'])

#使用get()函数访问字典

print(dict2.get('city'))

输出结果为:

Tom

Shanghai

需要注意的是,如果访问一个不存在的键,使用方括号将会引发KeyError异常,而get()函数则会返回None或指定的默认值。

3. 添加或修改字典

我们可以使用方括号或update()函数来添加或修改字典中的键值对。

#使用方括号添加或修改字典

dict1['phone'] = '13812345678'

dict2['name'] = 'Lily'

#使用update()函数添加或修改字典

dict1.update({'address': 'Chaoyang', 'school': 'Tsinghua'})

dict2.update(city = 'Guangdong', grade = 2)

print(dict1)

print(dict2)

输出结果为:

{'name': 'Tom', 'age': 18, 'city': 'Beijing', 'phone': '13812345678', 'address': 'Chaoyang', 'school': 'Tsinghua'}

{'name': 'Lily', 'age': 23, 'city': 'Guangdong', 'grade': 2}

需要注意的是,使用方括号修改字典时,如果键不存在,则会添加一个新的键值对,而使用update()函数修改字典时,如果键不存在,则会忽略该键值对。

4. 删除字典或字典中的键值对

我们可以使用del语句或pop()函数来删除字典或字典中的键值对。

#删除字典或字典中的键值对

del dict1['phone']

dict2.pop('age')

#清空字典

dict1.clear()

print(dict1)

print(dict2)

输出结果为:

{}

{'name': 'Lily', 'city': 'Guangdong', 'grade': 2}

需要注意的是,使用del语句删除字典或字典中的键值对时,如果键不存在,则会引发KeyError异常,而使用pop()函数删除时,如果键不存在,则会返回指定的默认值。

5. 复制字典

我们可以使用copy()函数来创建一个字典的浅复制,这意味着新字典中的键值对仅是原字典中键值对的副本,而不是指向原字典中对象的引用。

#浅复制字典

dict3 = dict2.copy()

#比较字典

print(dict2 == dict3)

print(dict2 is dict3)

输出结果为:

True

False

需要注意的是,使用copy()函数复制字典时,对于值为可变对象的键值对,新字典和原字典将共享这些对象,因此如果修改这些对象,将会影响到两个字典。要避免这种问题,可以使用深度复制,将对象复制到新的内存地址中,方法是使用copy模块中的deepcopy()函数。

6. 遍历字典

我们可以使用for循环和items()函数来遍历字典。

#遍历字典

for key, value in dict2.items():

    print(key, value)

输出结果为:

name Lily

city Guangdong

grade 2

需要注意的是,字典是无序的,因此遍历字典时,键值对的顺序可能与存储时不同,如果需要按照特定的顺序遍历字典,可以使用sorted()函数对字典按键排序后再遍历。

7. 判断字典中是否存在键或值

我们可以使用in关键字或values()函数来判断字典中是否存在键或值。

#判断字典中是否存在键或值

print('name' in dict2)

print(23 in dict2.values())

输出结果为:

True

True

需要注意的是,in关键字判断字典中是否存在键时,如果键不存在,不会引发异常,而是返回False。

总结

Python的字典是一种非常有用的数据类型,它允许我们快速地查找、插入和删除数据。在使用字典时,我们需要掌握常用的字典函数,包括创建字典、访问字典、添加或修改字典、删除字典或字典中的键值对、复制字典、遍历字典和判断字典中是否存在键或值。使用字典时还需要注意一些细节问题,比如处理可变对象、遍历顺序可能不同等。熟练掌握这些技巧和细节,有助于让我们更加流畅地使用Python的字典功能。