python-字典操作

旧巷老猫 提交于 2020-03-08 19:55:53

1、定义

字典{}key-value 形式d={'name':'贾宝玉',  'age':31,  'sex':'男',  'adrs':'荣国府'}优点:取值方便、速度快取值:  print(d[name]) #如果不存在则程序报错  print(d.get('name'))#如果key不存在,步报错,返回NULL  print(d.get('name'),'找不到')#如果key不存在,步报错,返回找不到(即指定的)

2、操作:

  增加:

  a、d['hight']=180  #即可直接增加key和value

  b、d.setdefault('weight',130)  #

  删:

  a、d.pop('sex')    #指定key,才能删除,即删除某个key 

  b、d.popitem()  # 随机删除一个

  c、del d['sex']    #指定删除key,即指定删除sex

  d、d.clear()    #清空字典

  修改

  a、d['hight']=120  #如果存在的key,可直接修改

 3、其他方法: 

  print(d.keys())    #打印所有的key

  print(d.values())    #打印所有的value

  d.has_key(’addr‘)    python2中是否存在某个key  

  if 'name'in d.keys():    #python3中判断是否存在某个key 

 4、循环:

  a、for i in d:      #直接循环字典 ,则循环的是字典的key

    print(i)

  b、for k,v in d.items():  #使用item ,则可以取到字典的value,item 是将字典的key和value 转化为元组即()形式的

    print(k,v)

  c、for k in d:      #直接按照key,取对应的value,比b方法,性能高

    print(k,d[k])

    或者print(k,d.get(k))

 5、字典嵌套

stus=[{'name':'贾宝玉','age':31,'sex':'男','adrs':'荣国府', 'money':10000, 'jinku':{     '¥':80000,     '$':300000 }},{'name':'贾探春','age':31,'sex':'男','adrs':'荣国府','money':10000, 'huazhuangpin':{     '神仙水':10 }},{'name':'林黛玉','age':31,'sex':'女','adrs':'荣国府','money':10000,'bag':{    'lv':10}}]print(stus[0]['jinku']['$'])    #取值300000  
 
stus = {    'wg': {        'age': 18,        'sex': '男',        'addr': '昌平区',        'money': 10000000,        'jinku': {            '建行卡': 80000,            '工商卡': 800000,            '招商卡': 8000000        }    },    'wd': {        'age': 19,        'sex': '女',        'addr': '昌平区',        'money': 10000000,        'huazhuangpin': ['chanle','haha']    },    'ws': {        'age': 19,        'sex': '女',        'addr': '昌平区',        'money': 10000000,        "bag": {            'lv': '一车',            '鳄鱼':10        }    },}
print(stus['ws']['bag'].keys())    #取到ws的所有的bag种类print(stus['wg']['jinku'].values)    #找到wg jinku 中的所有的钱sum(stus['wg']['jinku'].values)      #内置函数或者 循环获取
sum_money=0for money in all_money:    sum_money=sum_money+moneyprint(sum_money)print(stus['wd']['huazhuangpin'][1])   #取到haha 的值

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!