python中dict使用方法详解
Python中的字典(dict)是一种用于存储键值对的数据结构,这种数据结构基于哈希表实现,提供了快速的查找、插入和删除操作。本文将介绍Python中字典的基本用法和高级用法,帮助您更好地理解和应用字典数据结构。
字典的基本用法
创建字典
在Python中,可以使用花括号({})创建一个空字典,也可以使用dict()
构造函数创建一个空字典。同时也可以在创建字典时将键值对一起传递进去,如下所示:
# 创建空字典
empty_dict = {}
# 使用dict()构造函数创建空字典
empty_dict = dict()
# 创建包含键值对的字典
person = {"name": "张三", "age": 18, "gender": "male"}
# 使用dict()构造函数创建包含键值对的字典
person = dict(name="张三", age=18, gender="male")
获取字典中的值
通过下标操作可以获取字典中的值,下标使用键名,如果键名不存在则会抛出KeyError异常。可以使用get()方法获取字典中的值,如果键名不存在,则返回None或者指定的默认值。示例代码如下:
person = {"name": "张三", "age": 18, "gender": "male"}
# 通过下标获取字典中的值
name = person["name"]
# 使用get()方法获取字典中的值
age = person.get("age")
# 获取不存在的键,会抛出KeyError异常
phone = person["phone"]
# 使用get()方法获取不存在的键,返回None
phone = person.get("phone")
# 使用get()方法获取不存在的键,返回指定的默认值
phone = person.get("phone", "未知")
设置字典中的值
通过下标操作可以向字典中添加元素或更新已有元素,示例代码如下:
person = {"name": "张三", "age": 18, "gender": "male"}
# 添加新元素
person["phone"] = "18912345678"
# 修改已有元素
person["age"] = 20
删除字典中的值
通过下标操作可以删除字典中的元素,如果元素不存在则抛出KeyError异常,示例代码如下:
person = {"name": "张三", "age": 18, "gender": "male"}
# 删除元素
del person["age"]
字典的高级用法
遍历字典
可以使用for循环遍历字典中的所有键值对,示例代码如下:
person = {"name": "张三", "age": 18, "gender": "male"}
for key in person:
value = person[key]
print(key, value)
也可以使用items()方法直接遍历键值对,示例代码如下:
person = {"name": "张三", "age": 18, "gender": "male"}
for key, value in person.items():
print(key, value)
字典推导式
Python中的字典推导式可以方便地创建字典。如下所示:
# 创建包含1到5的平方的字典
squares = {x: x**2 for x in range(1, 6)}
使用setdefault()方法设置默认值
setdefault()方法可以设置默认值,并返回对应的值,示例代码如下:
person = {"name": "张三", "age": 18, "gender": "male"}
# 设置默认值并返回对应的值
phone = person.setdefault("phone", "未知")
示例说明
示例一
# 创建包含姓名和成绩的字典,计算平均成绩
scores = {"张三": 90, "李四": 80, "王五": 85}
total_score = 0
for score in scores.values():
total_score += score
average_score = total_score / len(scores)
print("平均成绩为:", average_score)
以上代码中,我们创建了包含姓名和成绩的字典,通过遍历values()方法计算出所有成绩的总分,并计算出平均成绩。
示例二
# 将文件内容转换为字典,统计每个单词出现的次数
with open("text.txt") as f:
text = f.read()
words = text.split()
word_count = {}
for word in words:
word_count[word] = word_count.get(word, 0) + 1
print(word_count)
以上代码中,我们打开一个文本文件,读取文件内容,并将内容按照空格分割为单词列表。然后,我们创建了一个字典,用于存储单词出现的次数。遍历单词列表,通过get()方法获取对应单词的出现次数,如果该单词不存在,则默认出现次数为0。最后,输出统计结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中dict使用方法详解 - Python技术站