一:字典的知识:python
字典:python中很是重要的数据类型,在python中惟一一个映射的数据类型 数据类型分类
按照数据可变与不可变: # 不可变数据类型: int str bool tuple 可哈西 # 可变数据类型: list,dict,set 不可哈西 1 键值对 #字典的 key:value# key 是惟一的 且是不可变数据类型 int,str bool tuple #value:任意数据类型
二:字典增app
1 按照key值增长 有就覆盖,没有就增长spa
字典增长 dic={'name':'jin','age':16,'sex':'male'} dic['name']='sese' print(dic) # 有就覆盖 dic['hobby']='kaiche' print(dic) # 没有就添加
打印结果:get
2 setdefault (添加没有key值,不设置value显示none,设置了正常显示。 添加有的key值,会被覆盖(至关于没有改变以前的显示))it
1 按照key和value增长,添加没有key值,valu没有设置,显示nonedate
dic={'name':'jin','age':16,'sex':'male'} dic.setdefault('lang') print(dic)
打印结果循环
2 设置没有key值,并设置value,所有显示数据类型
dic={'name':'jin','age':16,'sex':'male'} dic.setdefault('hobbie','kaichuan') print(dic)
显示结果im
3 设置key和value,有key,value被覆盖数据
dic={'name':'jin','age':16,'sex':'male'} dic.setdefault('name','zhu') print(dic)
打印结果
三:字典删除
1 pop 按照key值删除,有返回值,若是没有key,能够设置返回值。
有key值例子,打印返回值。
dic={'name':'jin','age':16,'sex':'male'} ret=dic.pop('name') print(dic) print(ret)
显示结果:
没有key值 设置返回值
dic={'name':'jin','age':16,'sex':'male'} ret=dic.pop('name1','没有此键') print(ret)
打印结果
2 随机删除 popitem (3.5版本之前能够(字典是无序的),3.6版本后字典是有序的,默认删除最后一个。
dic={'name':'jin','age':16,'sex':'male'} dic.popitem() print(dic)
打印结果
3 clear(li.clear()) 清空字典
dic={'name':'jin','age':16,'sex':'male'} dic.clear() print(dic)
打印结果
空字典
4 del 删除字典(虽然显示错误,可是就这么用)
打印结果:
四:字典修改
1 直接修改
dic={'name':'jin','age':16,'sex':'male'} dic['name']='zhu' print(dic)
打印结果
2 update
将dic1的键和值覆盖添加到dic2中,dic1不变
dic1={'name':'jin','age':16,'sex':'male'} dic2={'name':'zhujun','weight':60} dic2.update(dic1) print(dic1) print(dic2)
打印结果
五:字典的查
第一种:直接查(按照key)
第二种:get,当没有key时候,若是没有设置返回值,显示none.
设置返回值显示返回值内容
dic={'name':'jin','age':16,'sex':'male'} print(dic['name']) print(dic.get('name')) print(dic.get('haha')) print(dic.get('haha','孩子长点心,找不到'))
打印结果:
a,b直接赋值,只要后面有两个元素, int list dict tuple等类型都行
a,b能同时赋值,只要后面有两个元素, int list dict tuple等类型都行 a = 1 #一行代码实现a,b值互换 b = 3 a,b = b,a print(a,b) a,b = ['alex','wusir'] print(a,b) a,b = ('alex','wusir') print(a,b)
打印结果:
六:取出字典键和值,
1:取key
第一种循环整个字典
dic1={'name':'jin','age':16,'sex':'male'} for k in dic1: print(k)
打印结果
第二种:
dic1={'name':'jin','age':16,'sex':'male'} for k in dic1.keys(): print(k)
打印结果
2:取value
dic1={'name':'jin','age':16,'sex':'male'} for v in dic1.values(): print(v)
打印结果:
3:取key和value
dic1={'name':'jin','age':16,'sex':'male'} for k,v in dic1.items(): print(k,v)
打印结果:
七:字典的嵌套 联系题
dic = { 'name':'金鑫', 'name_list':[1,2,3,'李杰'], 1:{ 'python10':['小黑','萌哥'], '老男孩':{'name':'oldboy','age':56} }
问题:
1,[1,2,3,'李杰']追加'wusir' dic['name_list']=[1,2,3,'李杰','wusir'] print(dic) dic['name_list'].append('wusir') print(dic) 2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥 dic[1]['python10'].insert(1,'花哥') print(dic) 3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人 dic[1]['老男孩']['hobbie']='sese' print(dic)
打印结果: