字典的创建方式
注意 字典是无序的
1. dic{"name":"yang","age":35} 常用还是用这个
2. dic3 = dict((("name","yang"),)) 有点麻烦,借助类的方法创建:每个list或者dic都是自己的便携的创建方法。
3. dic6 = dict.fromkeys(["host1","host2","host3"],"test")
这个可以实现类似于初始化的操作,将多个键值一起赋值
打印出来之后:{'host1': 'test', 'host2': 'test', 'host3': 'test'}
字典的嵌套
内部可以嵌套列表元祖字符串等
1 # 字典的嵌套 2 china = { 3 "shandong":["linyi","liaocheng"], 4 "hubei":{"wuhan":"shenghui","suizhou":"city"}, 5 "dhahsd":"xxx" 6 }
字典的遍历
1 dic7 = {"name":"alex","age":18} 2 print(dic7.items()) 3 for i in dic7: # 循环打印键 4 print(i) 5 6 for i in dic7: # 循环打印值 7 print(i,dic7[i]) # 推荐用这种方式,效率高一些 8 9 for i,v in dic7.items(): # 循环打印值 10 print(i,v)
增删改查
修改
1 # 修改 2 # 根据类型,字典就找键,列表就找索引位置,最后赋值 3 china["shandong"][0] = "qingdao" 4 print(china)
删除
1 # 删除 2 #del 删除指定键值对,也可以删除整个字典 3 del dic5["name"] 4 print(dic5) 5 del dic5 # 删除整个字典 6 7 #clear 清空,但是会保留空字典 8 dic5.clear() 9 print(dic5) 10 11 # pop 弹出,可以返回值再次对其他变量进行赋值操作 12 ret = dic5.pop("hobby") 13 print(ret) 14 print(dic5) 15 16 #emmm...废物命令,字典是无序的,此命令是随机删除某个键值对,并以元祖形式 17 a = dic5.popitem() 18 print(a,dic5)
其他方法
1 # 带默认值的查询 2 # setdefault(键,默认值) 3 # 根据键查值,若查不到返回默认值,查到则返回真实值 4 print(china.setdefault("某个没值的或者不存在的键","默认值")) 5 # 结果:默认值
1 # 排序 2 seq = {2:"333",3:"555",6:"111"} 3 print(sorted(seq)) # 按照键排序 4 print(sorted(seq.values())) # 按照值排序 5 # ps: 列表可以用.sort进行排序,字典里面没有这命令
总结:
字典的值可以任意值,但是键不能是布尔值,字典,或者列表。
字典是无序的
.get 指定键来取其值,不存在时可以指定默认值,默认是none
.update 更新已存在的,不存在可以增加。
.keys 返回所有的键
.valaues 返回所有的值
.items 返回所有的键值对
.pop 删除键,可赋值,赋值的时候是赋键的值,不存在时可以指定默认值,默认是none