python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂
十、字典
# 字典的格式:
{"name":"lilei","age":20,"gender":"男"} # 都是以键值对的形式存在,一 一对应
10.1、创建
dict1 = {}
dict2 = dict()
print(type(dict1))
print(type(dict2))
# 结果:
>>> <class 'dict'>
>>> <class 'dict'>
dict3 = {"yb": "xuh", "eb": "pz", "xz": "xxx"}
print(dict3)
# 结果
>>> {'yb': 'xuh', 'eb': 'pz', 'xz': 'xxx'}
10.2、增加
dict4 = {"name": "tom", "age": "8", "gender": "女"}
dict4["id"] = 100
print(dict4)
# 结果:
>>> {'name': 'tom', 'age': '8', 'gender': '女', 'id': 100}
10.3 、修改
dict4 = {"name": "tom", "age": "8", "gender": "女"}
dict4["name"] = "mei" # ”键“要在字典中
print(dict4)
# 结果:
>>> {'name': 'mei', 'age': '8', 'gender': '女'}
10.4、删除
# 删除字典
dict4 = {"name": "tom", "age": "8", "gender": "女"}
del dict4
print(dict4)
# 结果:
>>> 报错,字典未定义
>>> Traceback (most recent call last):
>>> ...
dict4 = {"name": "tom", "age": "8", "gender": "女"}
del dict4["name"] # 删除整个键值对
print(dict4)
# 结果:
>>> {'age': '8', 'gender': '女'}
dict4 = {"name": "tom", "age": "8", "gender": "女"}
del(dict4["age"])
print(dict4)
# 结果:
>>> {'name': 'tom', 'gender': '女'}
dict4 = {"name": "tom", "age": "8", "gender": "女"}
dict4.clear()
print(dict4)
# 结果:
>>> {} #空字典
10.5、查找
10.5.1、按key查找
按key查找:字典名[key],存在返回key对应的值,不存在报错
dict5 = {"name": "tom", "age": "8", "gender": "女"}
print(dict5["gender"])
# 结果:
>>> 女
10.5.2、按函数查找
dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.get("name")) # tom
print(dict6.get("names")) # Nome
dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.keys())
# 结果:
>>> dict_keys(['name', 'age', 'gender']) # 返回列表
dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.values())
# 结果;
>>> dict_values(['tom', '8', '女']) # 返回列表
dict6 = {"name": "tom", "age": "8", "gender": "女"}
print(dict6.items())
# 结果:
>>> dict_items([('name', 'tom'), ('age', '8'), ('gender', '女')])
10.6、字典的循环遍历
dict7 = {"name": "tom", "age": "8", "gender": "女"}
for key in dict7.keys(): # .keys 查找字典中所有的key
print(key)
# 结果:
>>> name
>>> age
>>> gender
dict7 = {"name": "tom", "age": "8", "gender": "女"}
for va in dict7.values(): # .values 查找所有的values
print(va)
# 结果:
>>> tom
>>> 8
>>> 女
dict7 = {"name": "tom", "age": "8", "gender": "女"}
for item in dict7.items(): # .items 查找所有的键值对
print(item)
# 结果:
>>> ('name', 'tom')
>>> ('age', '8')
>>> ('gender', '女')
dict7 = {"name": "tom", "age": "8", "gender": "女"}
for key, val in dict7.items(): # 注意for后面的写法
print(key)
print(val)
# 结果:
>>> name
>>> tom
>>> age
>>> 8
>>> gender
>>> 女
dict7 = {"name": "tom", "age": "8", "gender": "女"}
for key, val in dict7.items():
print(f"{key} = {val}")
# 结果;
>>> name = tom
>>> age = 8
>>> gender = 女
10.7、拆包与组包
zb = 10, 20, "sjb"
print(type(zb))
# 结果:
>>> <class 'tuple'>