字典
程序员文章站
2022-05-29 10:33:42
字典(dict) 字典是无序的,可变的数据类型 作用:用于存储数据,可以存储大量数据 和列表的区别:字典比列表快,将数据和数据之间进行关联 1.增 2.删 3.改 4.查 5.其他操作 6.解构 7.字典的嵌套 ......
字典(dict)
字典是无序的,可变的数据类型
作用:用于存储数据,可以存储大量数据
和列表的区别:字典比列表快,将数据和数据之间进行关联
定义一个字典: dic = {"a":1,"b":2,"c":3} 字典中逗号分隔的叫做一个元素 键:值 (其他语言中叫键值对) 字典中的键:可哈希(不可变的数据类型) --避免哈希冲突使用开放寻址法 键要求是唯一的,如果有重复,后边的值将覆盖前边的值 值:不可哈希(可变的数据类型),可以任意类型
1.增
dic = {"a":1,"b":2,"c":3} #dic[键] = 值 例: dic["d"] = 4 print(dic) #{'a': 1, 'b': 2, 'c': 3, 'd': 4} #dic.setdefault(键,值) 例: dic.setdefault("d",4) print(dic) #{'a': 1, 'b': 2, 'c': 3, 'd': 4} # 执行程序:1.先拿新的键在字典中进行查询 # 2.如果存在不添加,不存在执行添加
2.删
dic = {"a":1,"b":2,"c":3} #del dic[键] 例: del dic["a"] print(dic) #{'b': 2, 'c': 3} #del.pop(键) 例: dic.pop("a") print(dic) #{'b': 2, 'c': 3} #del.clear() --清空 例: dic.clear() print(dic) #{}
3.改
dic = {"a":1,"b":2,"c":3} #dic[键] = 值 字典中没有某个键值对时就是添加,键存在于字典中就是修改 -- 有则改,无则加 例: dic["c"] = 4 print(dic) #{'a': 1, 'b': 2, 'c': 4} #dic.update(要更新的字典) 括号中的字典级别要高于前面的字典级别 例: dic.update({"d":4,"e":5}) print(dic) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} dic1 = {"d":4,"e":5} dic.update(dic1) print(dic1) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
4.查
dic = {"a":1,"b":2,"c":3} #使用for循环 for i in dic: print(i) # a b c #dic.get(键) #通过键获取值,不存在于字典中则返回 none 例: print(dic.get("a")) # 1 #dic[键] #通过键获取值,不存在于字典中则报错 print(dic["a"]) # 1
5.其他操作
#获取所有键值对 for i in dic: print(i,dic.get(i)) dic = {"a":1,"b":2,"c":3} 获取键和值,支持循环,不支持索引 #获取键 print(dic.keys()) #dict_keys(['a', 'b', 'c']) --获取字典中所有键并形成高仿列表 #获取值 print(dic.values()) #dict_values([1, 2, 3]) --获取字典中所有值并形成高仿列表 #获取所有键值对 print(dic.items()) #dict_items([('a', 1), ('b', 2), ('c', 3)]) --以元组形式存 放在高仿列表中 for i in dic.items(): print(i[0],i[1]) #获取字典中的所有的值并形成列表 print(list(dic.values())) #[1,2,3]
6.解构
a = 10 b = 20 a,b = b,a print(a,b) #除了布尔值都可以结构 a = 1,2 #本质上时一个元组 print(a) a,b = [1,2] print(a,b) a,b = (3,4) print(a,b) a,_,b = (3,4,5) print(a,b) #等号后边的值和前边的变量名要一一对应 a,b = '12' print(a,b) a,b = {"a":1,"b":2} print(a,b) # a b #获取到的是键 #循环字典获取键和值 for k,v in dic.items(): print(k,v)
7.字典的嵌套
#查找的时候一层一层的通过键进行查找 dic = {'name':'汪峰','age':48,'wife':[{'name':'国际章','age':38}],'children':['第一个熊孩子','第二个熊孩子']} 获取国际章 print(dic[wife][0]['name'])
下一篇: python经典电子书大合集下载