一. 知识点
二. 代码练习
# 字典的创建
dic = {
'name': ['大圣', '菩提'],
'py9': [{'num': 71, 'avg_age': 18, }, ],
True: 1,
(1, 2, 3): 'prince',
2: 'princess',
}
print(dic)
# 字典的增 第一种(此种方法有改的可能,对已存在的key,可以进行值的覆盖)
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', }
dic1['high'] = 185 # 没有键值对——添加
print(dic1)
dic1['age'] = 16 # 如果有key,则value被覆盖
print(dic1)
# 字典的增 第二种 setdefault
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1.setdefault('weight', 150) # setdefault(self, k, d=None),默认则value=None
print(dic1)
dic1.setdefault('name', '大圣') # 有键值对则不做任何改变,没有才增加
print(dic1)
# 字典的删 第一种 pop()——主要用该方法进行删
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
print(dic1.pop('age')) # dic1.pop('age') ,有返回值,返回值为对应的value,按键去删除
# print(dic1.pop('height')) 删除不存在的key,不给参数时报错
# print(dic1.pop('height',None)) 删除不存在的key,给参数时不报错,在删除不知道存不存在的key时,给一个参数可以防止报错,参数任意(一般用None),可设置返回值
print(dic1)
# 字典的删 第二种 popitem():随机删除,没有实际使用意义
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1.popitem() # 随机删除(python3.5及之前),python3.6开始删除最后一个,有返回值,返回值为元组(key,value)
print(dic1)
# 字典的删 第三种 clear():清空字典
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1.clear()
print(dic1)
# 字典的删 第四种 del
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
del dic1['name'] # 无返回值,没有对应的key时删除会报错
print(dic1)
del dic1 # 也可以删除整个字典
# 字典的改 第一种 直接进行覆盖
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1['age'] = 16
print(dic1)
# 字典的改 第二种 update()
dic = {"name": "prince", "age": 18, "sex": "male"}
dic2 = {"name": "alex", "weight": 75}
dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
print(dic1)
print(dic2)
# 字典的查 第一种
dic1 = {"name": "prince", "age": 18, "sex": "male"}
print(dic1.keys(), type(dic1.keys())) # <class 'dict_keys'>,当成一个列表,列表怎么用就怎么用
print(dic1.values())
print(dic1.items())
dic1 = {"name": "prince", "age": 18, "sex": "male"}
for i in dic1: # ——> for in dic1.keys()
print(i) # 什么都不写,默认打印key
a, b = 1, 2 # 一一对应,以最小单位进行赋值
a, b = [1, 2]
a, b = [1, 2], [2, 3]
print(a, b)
a = 1
b = 2
a, b = b, a # 用一行代码交换a,b的值
print(a, b)
for i in dic1.items():
print(i) # 以元组打印出(key,value)
for k, v in dic1.items():
print(k, v)
# 字典的查 第二种 get()
dic1 = {"name": "prince", "age": 18, "sex": "male"}
print(dic1['name']) # 缺点:没有key的时候报错
print(dic1.get('name1', '无此键')) # 使用get()时没有key时返回默认None,且返回值可自由设定,防止了报错