1、概述
字典是一系列键值对,可将任何Python对象作为字典中的值
字典和列表容易混淆,列表也可用{}
字典是一种动态结构,可随时在其中添加键值对
字典中的键应避免重复
2、增删改查
num = 2019001
stu = {'name': 'XiaoMing', 'num': num}
# 增
stu['age'] = 20
print(stu)
# 删
del stu['age']
print(stu)
# 改
stu['name'] = 'LiHua'
stu['num'] = 2019002
print(stu)
# 查
print(stu['name'])
print(stu['num'])
# 也可以用get来查询
age = stu.get('age', 'Can\'t find the age')
print(age)
print(stu.get('age'))
可以使用get来查询字典,避免找不到对应的值而抛出异常
3、遍历
3.1、遍历所有键值对
用方法items返回一个键值对列表
stu = {'name': 'XiaoMing', 'num': 2019001}
for k,v in stu.items():
print('key:'+k)
print(f"value:{v}\n")
print(stu.items())
3.2、分别遍历键和值
- 遍历键
age = {'Bob': 19, 'LiHua': 20, 'Alex': 21}
for name in age:
print(name, end=',')
# 也可显式的使用方法key()
print()
for name in age.keys():
print(name, end=',')
# key返回的是包含键的列表
print(f"\n{age.keys()}")
print(f"{sorted(age.keys())}")
- 遍历值
stu_age = {'Bob': 19, 'LiHua': 20, 'Alex': 21, 'Rick': 20}
for age in stu_age.values():
print(age, end=",")
print()
# 可使用set来消除重复的值
for age in set(stu_age.values()):
print(age, end=',')
4、嵌套
4.1、字典列表
- 创建3个字典放到列表中
stu = []
# 类似于c语言 for(int i = 0;i<3;i++)
for i in range(3):
new_stu = {'age':20, 'sex':'man'}
stu.append(new_stu)
print(stu)
4.2、在字典中储存列表
stu = {}
names = ['Alex','Bob','XiaoMing']
info = ['man',20]
for name in names:
stu[name] = info
print(stu)
4.3、在字典中储存字典
stu = {}
names = ['Alex','Bob']
info = {'sex':'man', 'age':20}
for name in names:
stu[name] = info
print(stu)
笔记来源:《Python编程 从入门到实践》