Python 全栈开发:python字典dict
字典
什么是字典:是一种可变容器模型,且可存储任意类型对象。
用途:以key:value的形式存多个值
表现形式:{}内以逗号分隔多个元素,格式为key:value,
eg:
dic = {'name':'Fixd','age':18}
字典的函数和方法
函数
方法
常用的方法
按key存取值:可存可取
dic={'name':'Fixd'} dic['age']=10 #增加操作 print(dic) dic['name']='Fixd' #重新赋值 print(dic) print('name') #取值操作
长度len
dic = {'name':'Fixd','age':18} print(len(dic)) #获取长度 结果:2
增加
# setdefaul的用处: # 1、字典有中有key,则不修改,返回原key对应的原值 dic={'name':'Fixd','age':18} res=dic.setdefault('name','FIXD') print('返回值',res) #结果:返回值 Fixd print(dic) #结果:{'name': 'Fixd', 'age': 18} # 2、没有对应的key,则添加,返回添加的key对应的value dic={'age':18} res=dic.setdefault('name','FIXD') print('返回值',res) #结果: print(dic) #结果: {'age': 18, 'name': 'FIXD'}
删除
dic={'name':'fixd','age':18} print(dic) res=dic.pop('name') print(res) #fixd print(dic) #{'age': 18} dic={'name':'fixd','age':18} res=dic.pop('sex',None) print(res) #one dic={'name':'fixd','age':18} res = dic.popitem() print(res) #('age', 18) 这个值不是确定的,一般会从结果删除
更新
dic={'name':'fixd','age':18} dic2={'name':'yite','age':18,'hobby':'music'} dic.update(dic2) print(dic) #{'name': 'yite', 'age': 18, 'hobby': 'music'} #对与老字典来说,更新指的是,新字典中有而老字典中没有则添加,新有而老有,则覆盖
键keys(),值values(),键值对items()
#三种不同方式的取值 dic={'name':'fixd','age':18} print(dic.keys()) #keys() for x in dic.keys(): print(x) print(x,dic[x]) #values() for value in dic.values(): print(value) #items() print(dic.items()) for k,v in dic.items(): #k,v=('name', 'egon') print(k,v) print(type(dic.items()))
结果
成员运算in和not in:判断的字典的key
dic={'name':'fixd','age':18} print('name' in dic) #True print('age' in dic) #True print('hobby' in dic) #False print('hobby' not in dic) #True
fromkeys()
# dic.fromkeys() good_info={ 'name':None, 'price':None, 'count':None } # 'mac' 20000 10 print({}.fromkeys(['name','age','sex'],None)) #结果 {'name':None,'age':None,'sex':None}