下面是关于“Python入门教程(十五)Python的字典”的详细讲解:
什么是Python字典
Python字典是一种键值对存储的数据结构,通过键值对的方式来定位并取得对应的数据。在 Python 中,字典是用花括号 {}
包裹起来的数据集合,键值对之间用逗号 ,
分隔。
字典的键可以是任意不可变的数据类型,如字符串、数字和元组等,同时字典中的键也必须是唯一的,而同一个字典中的值则可以重复。
以下是一个字典的示例:
person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
在这个示例中,键 'name'
、'age'
和 'gender'
分别对应着值 'Lucy'
、20
和 'female'
。
字典的基本操作
获取字典中的数据
我们可以使用键来获取字典中的值,示例如下:
person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
print(person['name']) # 输出:Lucy
print(person['age']) # 输出:20
print(person['gender']) # 输出:female
另外,也可以通过 get()
方法来获取字典中的值,如果字典中不存在对应的键,则返回默认值(默认为 None
):
person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
print(person.get('name')) # 输出:Lucy
print(person.get('height')) # 输出:None
print(person.get('address', 'Unkown')) # 输出:Unkown
修改字典中的数据
如果需要修改字典中的数据,只需要指定键并赋新值即可:
person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
person['age'] = 21 # 修改年龄为 21
print(person) # 输出:{'name': 'Lucy', 'age': 21, 'gender': 'female'}
添加新数据到字典
可以通过新增键值对的方式来向字典中添加新数据,示例如下:
person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
person['height'] = 165 # 添加身高
print(person) # 输出:{'name': 'Lucy', 'age': 20, 'gender': 'female', 'height': 165}
删除字典中的数据
使用 del
关键字可以删除字典中的键值对:
person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
del person['age']
print(person) # 输出:{'name': 'Lucy', 'gender': 'female'}
示例
下面是两个使用 Python 字典的示例:
1. 统计每个字符在字符串中出现的次数
# 定义一个字符串
string = "Python is a powerful programming language."
# 创建一个空字典,用于保存字符和其出现的次数
char_count = {}
# 遍历字符串中的每个字符
for c in string:
# 判断字符是否已经在字典中出现过
if c in char_count:
# 如果出现过,次数加一
char_count[c] += 1
else:
# 如果没有出现过,新创建一个键并赋值为 1
char_count[c] = 1
# 输出每个字符出现的次数
for c, count in char_count.items():
print(f"字符 {c} 出现了 {count} 次")
运行结果:
字符 P 出现了 1 次
字符 y 出现了 1 次
字符 t 出现了 2 次
字符 h 出现了 3 次
字符 o 出现了 4 次
字符 n 出现了 4 次
字符 出现了 5 次
字符 i 出现了 2 次
字符 s 出现了 2 次
字符 a 出现了 4 次
字符 p 出现了 2 次
字符 w 出现了 1 次
字符 e 出现了 3 次
字符 r 出现了 3 次
字符 f 出现了 1 次
字符 u 出现了 1 次
字符 l 出现了 1 次
字符 g 出现了 3 次
字符 . 出现了 1 次
2. 查找学生成绩
# 定义一个字典,保存具体的学生成绩
scores = {
'Lucy': {'Math': 80, 'English': 90, 'Chinese': 85},
'Tom': {'Math': 70, 'English': 80, 'Chinese': 75},
'Lily': {'Math': 90, 'English': 75, 'Chinese': 95}
}
# 定义一个函数,用于查找学生成绩
def lookup(name, subject):
if name in scores:
if subject in scores[name]:
return scores[name][subject]
else:
return f"{name} 的 {subject} 成绩不存在"
else:
return f"不存在名叫 {name} 的学生"
# 分别查找 Lucy 和 Tom 的数学和英语成绩
print(lookup('Lucy', 'Math')) # 输出:80
print(lookup('Tom', 'English')) # 输出:80
print(lookup('Lucy', 'History')) # 输出:Lucy 的 History 成绩不存在
print(lookup('Jack', 'Math')) # 输出:不存在名叫 Jack 的学生
运行结果:
80
80
Lucy 的 History 成绩不存在
不存在名叫 Jack 的学生
以上就是 Python 字典的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python入门教程(十五)Python的字典 - Python技术站