一、字典定义
# 本例主要演示字典
# 字典 dict 使用{}定义,由键值对构成
# 变量 = {key1:value1,key2:value2......}
# 字典的key可以是字符串类型和数字类型,不能是列表
# value可以是任意类型
# 定义空字典
dict0 = {}
dict1 = dict()
# {}
print(dict0)
# {}
print(dict1)
# 定义带数据的字典
dict3 = {"name":"zhangsan","age":20,1:[2,5,6,7,8]}
# {'name': 'zhangsan', 'age': 20, 1: [2, 5, 6, 7, 8]}
print(dict3)
# 访问value值,在字典中没有下标的概念,使用key访问对应的value
# 20
print(dict3["age"])
# 7
print(dict3[1][3])
# 通过get(key)方法访问value,如果找不到就返回None
# zhangsan
print(dict3.get("name"))
# 通过get(key,数据值),返回对应key的数据值,如果找不到的话,就返回指定的数据值
# male
print(dict3.get("gender","male"))
# 求字典的长度
# 3
print(len(dict3))
二、字典添加和修改数据
# 增加和修改字典中的数据
dict1 = {"name":"lisi"}
# 使用key值进行添加和修改
# 语法:字典[key]=数据值 如果key存在,就是修改,若key不存在,就是添加
dict1["age"] = 19
# {'name': 'lisi', 'age': 19}
print(dict1)
dict1["name"] = "wangwu"
# {'name': 'wangwu', 'age': 19}
print(dict1)
# 注意:字典中key值为1和key值为1.0是一样的
dict1[1] = "int"
# {'name': 'wangwu', 'age': 19, 1: 'int'}
print(dict1)
dict1[1.0] = "float"
# {'name': 'wangwu', 'age': 19, 1: 'float'}
print(dict1)
三、字典删除数据
# 字典中删除数据
dict1 = {"name":"lisi","age":111}
# 根据key值,使用del关键字删除
del dict1["name"]
# {'age': 111}
print(dict1)
# pop方法
result = dict1.pop("age")
# 111
print(result)
# {}
print(dict1)
# 清空字典clear,删除所有的键值对
dict2 = {1:2,3:4}
dict2.clear()
# {}
print(dict2)
# del 字典名:直接将字典整个删除,之后如果没有再定义则不能再使用这个变量名
del dict2
# print(dict2) 报错,找不到变量
四、字典遍历数据
# 遍历字典
# for循环遍历
dict1 = {"name":"zhang","age":1,"gender":"female"}
# name=zhang
# age=1
# gender=female
for i in dict1:
# 字典的key值
print(i,end="=")
# 通过key获取字典的value
print(dict1[i])
# 字典.keys():获取字典中所有的key,是dict_keys类型
# 该类型的特点
# 1.可以通过list()转换为list
# 2.可以使用for循环遍历
result = dict1.keys()
# dict_keys(['name', 'age', 'gender'])
print(result)
# name
# age
# gender
for key in result:
print(key)
# 字典.values(),获取所有的value值,类型是dict_values
# 该类型的特点
# 1.可以通过list()转换为list
# 2.可以使用for循环遍历
result = dict1.values()
# dict_values(['zhang', 1, 'female'])
print(result)
# zhang
# 1
# female
for value in result:
print(value)
# 字典.items() 获取所有的键值对,类型是dict_items,key和value组成元组类型
# 该类型的特点
# 1.可以通过list()转换为list
# 2.可以使用for循环遍历
result = dict1.items()
# dict_items([('name', 'zhang'), ('age', 1), ('gender', 'female')])
print(result)
# ('name', 'zhang')
# ('age', 1)
# ('gender', 'female')
for item in result:
print(item)
# 按元组方式打印
# name zhang
# age 1
# gender female
for k,v in result:
print(k,v)
五、enumerate方法
# 使用enumerate获取列表的下标和值
list1 = ['a','b','c','d','e']
# 0 a
# 1 b
# 2 c
# 3 d
# 4 e
for i in list1:
print(list1.index(i),i)
# (0, 'a')
# (1, 'b')
# (2, 'c')
# (3, 'd')
# (4, 'e')
# enumerate将可迭代序列中元素所在的下标与具体元素数据组合在一起,形成元组
for i in enumerate(list1):
print(i)