字典是一种可变容器模型,且可存储任意类型对象。键是不可变类型(且是唯一的),值可以是任意类型(不可变类型:整型,字符串,元组;可变类型:列表,字典)。字典是无序的,没有顺序关系,访问字典中的键值是通过键查询值。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dic={'name':'Tom','Age':20,'Sex':'man'}
创建字典
dic1={'name':'Tom','Age':18,'Sex':man}
dic2=dic((('name','Jim'),))
print(dic1)
print(dic2)
对应操作
增:
1.
dic1={}
dic1['name']='Tom' #如果name存在,则修改原name键的值。如果不存在就增加一组键值。
2.
eg:dic1.setdefault('name','张三') # 如果键存在不作任何修改,如果不存在就增加一组键值对。并且有返回值。如果有原键的话就返回原键的值,没有就返回新增键的值
查:(通过键来查询相应的值)
dic1={‘name’:'Tom','age':23,'Sex':'man'}
1.dic1['name'] #查询name的值。
2.dic1.keys() # 查看改字典的所有键,并且返回的是dict_keys类型,可用list()方法将其转换为列表。
3.dic1.values() #查看该字典的值。返回值同上。
4.dic1.items() #查看所有的键值对。
改:
dic1={‘name’:'Tom','age':23,'Sex':'man'} dic2={‘name’:'Tom','age':23,'hobby':'girls'}
1.dic1['name']='Alex'
2.dic1.update(dic2)# 将dic2的内容加入dic1,如果有相同的键,就覆盖原值。原则是有就修改值,没有就增加键值对。
删:
dic1={‘name’:'Tom','age':23,'Sex':'man'}
1.dic1.clear() #清空字典中的键值对,但是不删除字典。
2.del dic1['name'] #删除dic1中的某一键值对。
3.del dic1 #删除整个dic1字典。
4.dic1.pop('age')# 删除dic1中的某一键值对,并返回删除键的值。
5.dic1.popitem() #随机删除一组键值对。(很无聊的方法,不知道干嘛用的)
字典的其他操作:
1.dic1=dict.fromkeys(['host1','host2','host3'],'test') #新建一个字典,并且将字典初始化,host代表键,test代表值(值只能写一个,多写还是当一个处理),并且所有的键都是这个值。
2.字典的嵌套:字典里面有字典或者列表什么的。
3.字典的排序:排序原则是如果键或值是数字就按数字大小来排,如果是字符就按照ASCII码值的大小来排。
dic={.............................}
sorted(dic.items) #对键排序
sorted(dic.values) #对值排序
4.字典的遍历
略