提示:
1.
6.2 使用字典
在Python中,字典是一种可变的数据类型,用于存储键值对(key: value),其中键(key)是唯一的,值(value)可以是任意数据类型(字符串、数字、列表、字典等)。字典用大括号{}表示,键和值之间用冒号:分隔,键值对之间用逗号,分隔。
例如:person = {"name": "Alice", "age": 25, "city": "New York"}
6.2.1 访问字典中的值
要访问字典中的值,需通过对应的键来获取,语法为:字典名[键]。
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
print(person["name"]) # 输出:Alice
print(person["age"]) # 输出:25
如果访问的键不存在,会抛出KeyError错误。
6.2.2 添加键值对
字典是动态的,可以随时添加新的键值对,语法为:字典名[新键] = 新值。
示例:
person = {"name": "Alice", "age": 25}
# 添加新键值对
person["city"] = "New York"
print(person) # 输出:{"name": "Alice", "age": 25, "city": "New York"}
6.2.3 从创建一个空字典开始
可以先创建一个空字典,再逐步添加键值对。空字典用{}表示。
示例:
person = {} # 创建空字典
# 逐步添加键值对
person["name"] = "Bob"
person["age"] = 30
person["city"] = "London"
print(person) # 输出:{"name": "Bob", "age": 30, "city": "London"}
6.2.4 修改字典中的值
要修改字典中的值,通过键找到对应的值并重新赋值即可,语法为:字典名[已有键] = 新值。
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
# 修改age的值
person["age"] = 26
print(person["age"]) # 输出:26
6.2.5 删除键值对-del语句
使用del语句可以删除字典中的键值对,语法为:del 字典名[键](删除后无法恢复)。
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
del person["city"] # 删除"city"对应的键值对
print(person) # 输出:{"name": "Alice", "age": 25}
6.2.6 由类似的对象组成的字典
当需要存储多个类似对象的信息时,可使用字典的嵌套或多个键对应不同对象的属性。例如,存储多个人的信息:
示例:
# 存储多个人的年龄
ages = {
"Alice": 25,
"Bob": 30,
"Charlie": 35
}
print(ages["Bob"]) # 输出:30
6.2.7 使用-get()方法-来访问值
get()方法用于访问字典中的值,与直接用[键]访问的区别是:如果键不存在,get()会返回默认值(默认是None),而不会抛出错误。
语法:字典名.get(键, 默认值)(默认值可选)。
示例:
person = {"name": "Alice", "age": 25}
# 键存在时,与直接访问效果相同
print(person.get("name")) # 输出:Alice
# 键不存在时,返回默认值(此处设置为"未知")
print(person.get("city", "未知")) # 输出:未知
6.3 遍历字典
字典支持遍历操作,可以遍历所有键值对、所有键或所有值。
6.3.1 遍历所有的键值对-items()方法
使用items()方法可返回字典中所有键值对的视图,配合for循环遍历:
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
for key, value in person.items():
print(f"键:{key},值:{value}")
输出:
键:name,值:Alice
键:age,值:25
键:city,值:New York
6.3.2 遍历字典中的所有键-keys()方法
使用keys()方法可返回字典中所有键的视图,默认情况下,for循环遍历字典时也会遍历所有键:
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
# 方法1:使用keys()
for key in person.keys():
print(key)
# 方法2:直接遍历字典(默认遍历键)
for key in person:
print(key)
两种方法输出相同:
name
age
city
6.3.3 按特定的顺序遍历字典中的所有键-sorted()函数
字典在Python 3.7+中是有序的(插入顺序),但如需按特定顺序(如字母顺序)遍历键,可使用sorted()函数:
示例:
person = {"name": "Alice", "age": 25, "city": "New York"}
# 按字母顺序遍历键
for key in sorted(person.keys()):
print(key)
输出:
age
city
name
6.3.4 遍历字典中的所有值-values()方法-set()函数
使用values()方法可返回字典中所有值的视图,如需去重,可配合set()函数:
示例:
favorite_colors = {
"Alice": "blue",
"Bob": "green",
"Charlie": "blue"
}
# 遍历所有值(包含重复)
for color in favorite_colors.values():
print(color)
# 去重后遍历
for color in set(favorite_colors.values()):
print(color)
输出:
# 包含重复的值
blue
green
blue
# 去重后的值
blue
green
6.4 嵌套
嵌套指将字典存储在列表中、将列表存储在字典中,或在字典中嵌套字典,以处理更复杂的数据结构。
6.4.1 列表中嵌套字典
示例:存储多个人的信息
people = [
{"name": "Alice", "age": 25, "city": "New York"},
{"name": "Bob", "age": 30, "city": "London"},
{"name": "Charlie", "age": 35, "city": "Paris"}
]
# 访问列表中第二个字典的"name"值
print(people[1]["name"]) # 输出:Bob
6.4.2 字典中嵌套列表
示例:存储一个人的多个爱好
person = {
"name": "Alice",
"age": 25,
"hobbies": ["reading", "swimming", "traveling"]
}
# 遍历爱好
for hobby in person["hobbies"]:
print(hobby)
输出:
reading
swimming
traveling
6.4.3 字典中嵌套字典
示例:用字典存储多个人的信息,外层字典的键为用户名
users = {
"alice": {
"name": "Alice Smith",
"age": 25,
"city": "New York"
},
"bob": {
"name": "Bob Johnson",
"age": 30,
"city": "London"
}
}
# 访问"bob"的年龄
print(users["bob"]["age"]) # 输出:30
以上就是Python字典的核心用法,包括创建、访问、修改、遍历及嵌套等操作,掌握这些可以灵活处理各类键值对数据。
总结



5115

被折叠的 条评论
为什么被折叠?



