字典:
格式: {key1:value1,key2:value2,key3:value3,….. }
字典是以键值对的形式来存储的, key:value的形式, key与value之间用冒号 : 连接, key与value这一对
字典的一个元素, 元素与元素之间用逗号连接
字典中是可以存放不同的数据类型的
特点:
1.是不可重复,
2.key必须使用不可变类型数据,一般使用字符串
3.key是无序,字典的查找速度快
#创建一个空的字典
dict1 = {}
#创建有多个元素的字典
dict1 = { "张三":"20","李四":"21","王五":"22"}
#获取数据,查
#注意: 字典不能根据索引来查询, 字典是无序的
#根据key值来查询
dict["张三"]
#当对应的key不存在是, 程序报错
#get方法能通过key来获取对应的值
#当对应的key不存在时,程序不会报错, 会返回None
#如果设置了第二个参数,第二个参数表示默认值, 当对应的key不存在时,会返回#参数2,即默认值
value = dict.get["张三"]
value = dict.get["赵六",23]
#增加,修改
#当key不存在时为增加,key值存在时为修改
dict1["小明"] = 32
dict1["张三"] = 19
#删除
#pop可以根据key来删除字典中的元素,并返回删除的元素的值
#如果key不存在,会报错, 当设置了默认值时,如果key不存在,会返回默认值
#最好先判断该key是否存在
value = dict1.pop("张三",19)
print(value)
print(dict1)
#判断存在
#字典的成员判断,可以直接判断key是否存在
if "张三" in dict1:
print("存在")
else:
print("不存在")
#遍历 - for循环
#5种方式遍历
dict1 = { "张三":"20","李四":"21","王五":"22"}
#第一种
for key in dict1:
print("key: %s value:%s"%(key,dict1[key]))
#第二种,枚举
for index,key in enumerate(dict1):
print("index:%s key: %s value:%s"%(index,key,dict1[key]))
#第三种
dict1.keys() #用来获取字典中的所有的 key
for key in dict1.keys():
print("key: %s value:%s"%(key,dict1[key]))
#第四种
dict1.values() #用来获取字典中的所有的值
for value in dict1.values():
print(value)
#第五种
dict1.items() #用来获取字典中的所有的 键值对 key:value
for key,value in dict1.items():
print("key:%s value:%s"%(key,value))
#字典的拷贝
dict2 =dict1
#只是将字典dict1 的内存地址赋值给dict2 ,修改dict2中的值时dict1中的#也会改变
#浅拷贝
dict2 = dict1.copy()
#重新创建一个dict2 ,修改dict2中的值时,dict1中不发生改变