Python四大金刚之字典详解
什么是字典
字典是Python中的一种高效的数据结构,可以用于存储键值对。字典使用大括号 {} 进行定义,其中每个键值对之间用冒号 : 分隔,键值对之间用逗号 , 分隔。键必须唯一且不可变,可以是字符串、数字或元组等类型,而值可以是任何类型。
字典的基本操作
创建字典
可以通过键值对方式创建字典,示例代码如下:
dict1 = {'name': 'Jack', 'age': 18, 'gender': 'male'}
dict2 = dict([('name', 'Lily'), ('age', 20), ('gender', 'female')])
访问字典元素
可以通过键名访问字典元素,示例代码如下:
print(dict1['name'])
print(dict2.get('age'))
添加或更新字典元素
可以通过键名直接添加或更新字典元素,示例代码如下:
dict1['email'] = 'jack@example.com'
dict2.update({'email': 'lily@example.com'})
删除字典元素
可以使用 del 关键字删除字典元素,示例代码如下:
del dict1['gender']
dict2.pop('age')
字典的高级操作
字典推导式
字典推导式可以根据某种规则快速生成一个字典,示例代码如下:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dict3 = {key: value for key, value in zip(keys, values)}
字典内置方法
字典内置方法可以方便地进行字典的相关操作,包括:
- keys():返回字典中所有键的列表
- values():返回字典中所有值的列表
- items():返回字典中所有键值对的元组列表
- clear():清空字典
- copy():复制字典
- len():返回字典中元素的个数
示例代码如下:
print(dict1.keys())
print(dict2.values())
print(dict3.items())
dict2.clear()
dict4 = dict1.copy()
print(len(dict4))
示例说明
示例一:字典实现学生成绩管理系统
下面是一个简单的学生成绩管理系统,可以添加学生信息、查询学生信息、修改学生信息和删除学生信息等操作:
# 定义学生信息字典
student_dict = {}
while True:
print('--------学生成绩管理系统--------')
print('1.添加学生信息')
print('2.查询学生信息')
print('3.修改学生信息')
print('4.删除学生信息')
print('5.退出系统')
choice = input('请选择操作:')
if choice == '1':
# 添加学生信息
name = input('请输入学生姓名:')
score = input('请输入学生成绩:')
student_dict[name] = score
print('添加学生信息成功!')
elif choice == '2':
# 查询学生信息
name = input('请输入学生姓名:')
score = student_dict.get(name)
if score:
print('{}的成绩是:{}'.format(name, score))
else:
print('该学生不存在!')
elif choice == '3':
# 修改学生信息
name = input('请输入学生姓名:')
score = student_dict.get(name)
if score:
new_score = input('请输入新的学生成绩:')
student_dict[name] = new_score
print('修改学生信息成功!')
else:
print('该学生不存在!')
elif choice == '4':
# 删除学生信息
name = input('请输入学生姓名:')
score = student_dict.get(name)
if score:
del student_dict[name]
print('删除学生信息成功!')
else:
print('该学生不存在!')
elif choice == '5':
# 退出系统
break
else:
print('无效的操作!')
示例二:字典实现单词计数器
下面是一个简单的单词计数器,可以统计一段文本中不同单词的出现次数:
# 定义文本字符串
text = '''Python is a popular programming language.
It is used for web development, scientific computing, and machine learning.
Python is easy to learn and has readable syntax.'''
# 统计单词数量
word_count = {}
words = text.lower().split()
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出结果
for word, count in word_count.items():
print('{}: {}'.format(word, count))
运行结果如下:
python: 2
is: 2
a: 1
popular: 1
programming: 1
language.: 1
it: 2
used: 1
for: 1
web: 1
development,: 1
scientific: 1
computing,: 1
and: 1
machine: 1
learning.: 1
easy: 1
to: 1
learn: 1
has: 1
readable: 1
syntax.: 1
以上就是Python四大金刚之字典详解的完整攻略。