字典类型及操作
一:字典类型定义
映射是一种键(索引)和值(数据)的对应,字典类型是“映射”的体现
1、键值对:键是数据索引的扩展
2、字典是键值对的集合,键值对之间无序
3、采用大括号{}和dict()创建,键值对用冒号: 表示{<键1>:<值1>, <键2>:<值2>, … , <键n>:<值n>}
二、字典类型的使用
1、在字典变量中,通过键获得值 <值> = <字典变量>[<键>] <字典变量>[<键>] = <值>
dt = {"四川":"成都","贵州":"贵阳","云南":"昆明"}
print(dt)
print(dt["四川"])
dt["广东"] = "广州"
print(dt)
dict1 = dict(a = "1",b = "2")
print(dict1)
运行结果1:{'云南': '昆明', '四川': '成都', '贵州': '贵阳'}
运行结果2:成都
运行结果3:{'云南': '昆明', '四川': '成都', '广东': '广州', '贵州': '贵阳'}
运行结果4:{'b': '2', 'a': '1'}
三、字典类型操作函数和方法
1、del d[k] 删除字典d中键k对应的数据值
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
del d['四川']
print(d)
运行结果:{'贵州': '贵阳', '广东': '广州', '云南': '昆明'}
2、k in d 判 判断键k是否在字典d中,如果在返回True,否则False
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print("四川" in d)
运行结果:True
3、d.keys() 返回字典d中所有的键信息
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(d.keys())
运行效果:dict_keys(['广东', '贵州', '云南', '四川'])
4、d.values() 返回字典d中所有的值信息
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(d.values())
运行结果:dict_values(['昆明', '贵阳', '广州', '成都'])
5、**d.items() ** 返回字典d中所有的键值对信息
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(d.items())
运行结果:dict_items([('贵州', '贵阳'), ('云南', '昆明'), ('四川', '成都'), ('广东', '广州')])
6、d.get(k, ) 键k存在,则返回相应值,不在则返回值
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(d.get("广东", "不存在对应值"))
print(d.get("湖南", "不存在对应值"))
运行结果1:广州
运行结果2:不存在对应值
7、d.pop(k, ) 键k存在,则取出相应值,不在则返回值
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(d.pop("广东", "不存在对应值"))
print(d.pop("湖南", "不存在对应值"))
print(d)
运行结果1:广州
运行结果2:不存在对应值
运行结果3:{'贵州': '贵阳', '云南': '昆明', '四川': '成都'}
8、d.popitem() 随机从字典d中取出一个键值对,以元组形式返回
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(d.popitem())
运行结果:('贵州', '贵阳')
9、d.clear() 删除所有的键值对
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
d.clear()
print(d)
运行结果:{}
10、len(d) 返回字典d中元素的个数
d = {'广东': '广州', '云南': '昆明', '贵州': '贵阳', '四川': '成都'}
print(len(d))
运行结果:4