字典学习总结
一、认识字典
1.字典和列表的选择:
需要同时保存多个数据的时候,如果多个数据的意义相同(不需要区分)就使用列表;如果多个数据的意义不同就使用字典
2.认识字典(dict)
a.容器型数据类型:
将{}作为容器的标志,里面多个键值对用逗号隔开:{键1: 值1, 键2: 值2, 键3: 值3,…,键n:值n}
b.特点:
字典是可变的(支持增删改);字典是无序的(不支持下标,元素顺序不影响结果)
c.对元素的要求:
字典的元素是键值对
键的要求:键必须是不可变的类型的数据(数字、字符串、布尔、元组等);键是唯一的
值的要求:值没有要求
# 空字典
dict1 = {
}
# 字典中的元素只能是键值对
dict2 = {
'name': '小明', 'age': 20}
print(dict2)
# dict3 = {'name': '张三', 30} # 报错! 30不是键值对
# 字典无序
print({
'a': 10, 'b': 20} == {
'b': 20, 'a': 10}) # True
# 键是不可变类型的数据
dict3 = {
10: 23, 1.23: 10, 'abc': 30, (1, 2): 50}
print(dict3)
# dict4 = {10: 23, 1.23: 10, 'abc': 30, [1, 2]: 50} # 报错!
# 键是唯一
dict4 = {
'a': 10, 'b': 20, 'c': 30, 'a': 100}
print(dict4) # {'a': 100, 'b': 20, 'c': 30}
二、字典的基本操作
1.查 —— 获取字典的值
a.查单个字典 —— 一次获取一个值
语法1:字典[键] —— 获取字典中指定键对应的值; 如果键不存在会报错!
语法2:
字典.get(键)—— 获取字典中指定键对应的值,键不存在会返回空值
字典.get(键,默认值)—— 获取字典中指定键对应的值,键不存在会返回默认值
dog = {
'name': '旺财', 'age': 3, 'breed': '中华田园犬', 'color': '白色'}
print(dog['age']) # 3
print(dog.get('breed')) # '中华田园犬'
print(dog.get('weight')) # None
print(dog.get('weight', 5)) # 5
2.遍历
a. for 键 in 字典:
pass
b. for 键,值 in 字典.items():
pass
stu = {
'name': '小明', 'gender': '男', 'age': 18, 'score': 100, 'education': '专科'}
for x in stu:
print(x, stu[x])
print()
for key, value in stu.items():
print(key, value)
print()
print(stu.items())
for x in stu.items():
print(x)
三.字典增删改
1.增/改 —— 添加键值对
a.字典[键] = 值 —— 如果键存在就修改指定键对应的值;如果键不存在就添加键值对
b.字典.setdefault(键,值) —— 添加键值对(如果键不存在就添加键值对,如果键存在字典保持原状)
cat = {
'name': '花花', 'breed'