字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dict = {key1 : value1, key2 : value2 }
字典的特性:
dict是无序的
key必须是唯一的,so 天生去重
字典的操作
info = { 'n101': "TengLan Wu", 'n102': "LongZe Luola", 'n103': "XiaoZe Maliya", } 增加 info['1104'] = 'quangjingkong' print(info) 修改 info['n101'] = '武滕兰' print(info) 删除 info.pop("n101") #删除键"n101" del info['n101'] #删除键"n101" info.popitem() #随机删除一个键 info.clear() # 清空字典 del dict # 删除字典 print(info) 查找 print("n102" in info) #标准查找方式 print(info.get('n103')) #获取,如key键不存在,返回None print(info['n102']) #获取,如key键不存在,返回KeyError
多级字典嵌套及操作
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
dict_address = { '广东省':{ '广州市':{ '越秀区':{'越秀公园':'黄花岗公园'}, '荔湾区':['荔湾湖公园','荔枝湾'], '天河区':('天河城','广州塔') } } }
字典的一些内置用法
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
print(info.values()) #打印所有的键值 print(info.keys()) #打印所有的键 print(info.setdefault("n104",{'新垣结衣':'www.ooo.com'})) #如字典里没有,创建一个新的键值 print(info.setdefault("n101")) #如字典里有,返回这个键值 b = {"n101":"boduoyejieyi","新来的":"报三围",'nnn':'mmm'} info.update(b) #把 b 合集到info 中,如已info已有key,替换更新,没有则新创建 print(info) print(info.items()) #把字典转换成列表 c= dict.fromkeys([1,2,3],('test','nauxu')) #创建一个初始化的字典,并赋一个相同的值 print(c) 输出:{1: ('test', 'nauxu'), 2: ('test', 'nauxu'), 3: ('test', 'nauxu')}
字典循环
for i in info: print(i) print(i,info[i]) for k , v in info.items(): #这方法不推荐使用,这里有把字典转换成列表的过程,如数据量大时,效率低。 print(k,v)