那我就来详细讲解一下Python字典的使用详解及实例代码。
Python字典的使用详解
1. 什么是字典
在Python中,字典是一种可变容器模型,且可存储任意类型对象。字典中的每个元素都是由一个键和一个值组成的键值对,键和值之间用冒号(:)隔开,整个字典用花括号({})括起来。
2. 字典的创建和访问
创建一个空字典和创建一个非空字典的方式如下:
# 创建空字典
d1 = {}
d2 = dict()
# 创建非空字典
d3 = {'name':'Tom', 'age':18}
d4 = dict([('name', 'Jerry'), ('age', 20)])
d5 = dict(name='Tim', age=22)
访问字典内元素的方式为通过键获取值,如果键不存在,则会抛出KeyError
异常。如下所示:
d = {'name':'Tom', 'age':18}
print(d['name']) # Tom
print(d.get('age')) # 18
print(d['gender']) # KeyError: 'gender'
print(d.get('gender')) # None
3. 字典的修改和删除
修改字典的元素可以直接通过赋值的方式进行修改,如果键不存在,则会新添加一对键值对。如下所示:
d = {'name':'Tom', 'age':18}
d['name'] = 'Jerry'
d['gender'] = 'male'
print(d) # {'name': 'Jerry', 'age': 18, 'gender': 'male'}
删除字典元素可以使用del
语句或者pop()
方法,del
语句会直接删除指定键值对,如果键不存在,则会抛出KeyError
异常。pop()
方法除了删除指定键值对外,还可以返回被删除的值;如果键不存在,则可以设置默认返回值。如下所示:
d = {'name':'Tom', 'age':18}
del d['age']
print(d) # {'name': 'Tom'}
name = d.pop('name')
print(d) # {}
print(name) # Tom
gender = d.pop('gender', 'unknown')
print(gender) # unknown
4. 字典的遍历
遍历字典可以使用items()
方法,该方法会返回字典的键值对,可以通过for
循环遍历。如下所示:
d = {'name':'Tom', 'age':18, 'gender':'male'}
for k, v in d.items():
print(k, v)
# name Tom
# age 18
# gender male
5. 字典的方法
Python字典提供了很多内置方法,用于实现不同的功能,下面介绍其中一些常用的方法。
5.1 keys()
该方法返回字典的键组成的列表,列表中的键是无序的。如下所示:
d = {'name':'Tom', 'age':18, 'gender':'male'}
print(list(d.keys())) # ['name', 'age', 'gender']
5.2 values()
该方法返回字典的值组成的列表,列表中的值是无序的。如下所示:
d = {'name':'Tom', 'age':18, 'gender':'male'}
print(list(d.values())) # ['Tom', 18, 'male']
5.3 clear()
该方法用于清空字典内的所有元素。如下所示:
d = {'name':'Tom', 'age':18, 'gender':'male'}
d.clear()
print(d) # {}
5.4 copy()
该方法用于复制字典。如下所示:
d1 = {'name':'Tom', 'age':18, 'gender':'male'}
d2 = d1.copy()
print(d2) # {'name': 'Tom', 'age': 18, 'gender': 'male'}
6. 总结
Python字典是一种非常有用的数据类型,可以用它来存储不同类型的数据,并且可以方便地对数据进行增、删、改、查等操作。在使用字典时,需要注意字典的键必须是不可变类型,如字符串、整数等,不能使用列表、字典等可变类型。同时,字典中的元素是无序的,遍历字典时需要注意。
实例1:统计字符串中各字符出现的次数
text = "Python is a popular programming language"
char_dict = {}
for char in text:
if char in char_dict:
char_dict[char] += 1
else:
char_dict[char] = 1
print(char_dict) # {'P': 1, 'y': 1, 't': 2, 'h': 2, 'o': 4, 'n': 5, ' ': 4, 'i': 2, 's': 2, 'a': 4, 'p': 2, 'u': 2, 'l': 2, 'r': 2, 'g': 3, 'm': 2, 'g': 3, 'e': 2}
该示例遍历字符串中的每个字符,使用字典统计每个字符出现的次数,最后输出结果。
实例2:创建一个通讯录
contacts = {}
while True:
name = input("请输入联系人姓名:")
if not name:
break
phone = input("请输入联系人电话:")
email = input("请输入联系人邮箱:")
contacts[name] = {'phone': phone, 'email': email}
print(contacts)
该示例利用字典,创建一个简单的通讯录程序,用户可以通过输入姓名、电话、邮箱,来添加新的联系人。使用字典来存储联系人信息,键是联系人的姓名,值是包含电话和邮箱的子字典。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 字典的使用详解及实例代码 - Python技术站