码迷,mamicode.com
首页 > 编程语言 > 详细

Python之字典

时间:2019-04-10 15:08:37      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:items   不可   new   年龄   标识   搞笑   责任   其他   使用   

  • 字典
    字典为键值的形式,key=>value
    字典是另一种可变容器模型,无序,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。不可变类型:整型,字符串,元组 (可变类型:列表,字典):字典的键只能用不可变类型来创建

  • 字典操作

    • 字典创建

      #字典创建符号标识:{key:value}
      d1={} #创建空字典
      d2={‘name‘:‘jerry‘,‘age‘:20,‘job‘:996}
      print(d2)
      #通过列表或元组生成字典
      l1=[‘a‘,‘b‘,‘c‘,‘d‘]
      l2=[1,2,3,4]
      d3=dict(zip(l1,l2))
      print(d3)
      #通过列表或元组生成字典
      l1=[‘a‘,‘b‘,‘c‘,‘d‘]
      l2=[1,2,3,4]
      -……----
      #通过zip函数整合
      #d3=dict(zip(l1,l2))
      #print(d3)
      #。。。。
      #直接构造
      #d4={l1:l2}#这种写法会出现错误,key不支持list类型即可变类型
      l1=tuple(l1)
      d5={l1:l2}
      print(d5)
      技术图片

    • 字典查看
      需要通过key键去查找对应的值,若key不存在报错。
      技术图片
      判断某个可以是否是该成员:
      技术图片
    • 字典修改

      #修改
      print(‘jerry原来的年龄:{:d}‘.format(d2[‘age‘]))
      d2[‘age‘]=30
      print(‘jerry修改后的年龄:{:d}‘.format(d2[‘age‘]))
      #若修改不存在的key值会添加方法修改
      d2[‘sex‘]=‘male‘
      技术图片

    • 字典添加
      d2[key]=value
    • 字典删除
      del d2[key]
      技术图片
    • 字典遍历
    #字典遍历
    print(‘方法1‘)
    for key in d2:
            print(key+‘:‘+str(d2[key]),end=‘ ‘) #注+只能连接字符串类型
    
    print(‘\n方法2‘)
    for k,v in d2.items():
            print(k,‘=‘,v,end=‘ ‘)
    
    #遍历字典的key
    print(‘\n方法3‘)
    for key in d2.keys():
            print(key,end=‘ ‘)
    
    #遍历字典的值
    print(‘\n方法4‘)
    for value in d2.values():
            print(value,end=‘ ‘)

    技术图片

    • 字典推导式
      形式类似列表元组操作:
      d6={expression:for iter_var in interable [if condition] }
      技术图片

    • 简单使用
      1.字典嵌套遍历

      #---------------字典嵌套遍历---------
      # grade={
      #     ‘赵丽颖‘:{
      #         ‘国籍‘:‘中国‘,
      #         ‘民族‘:‘汉‘,
      #         ‘出生日期‘:‘1987年10月16日‘,
      #         ‘身高‘:‘165cm‘
      #         }
      #      }
      # for name,info in grade.items():
      #     print(name)
      #     for key,value in info.items():
      #         print(key+‘:‘+value)

      2.星座测试

      # name=[‘周公子‘,‘李大爷‘,‘张冠‘,‘李戴‘,‘王五‘,‘刘子‘,‘老子‘,‘庄子‘,‘梁子‘,‘李子‘,‘麻子‘,‘痱子‘]
      # star=[‘白羊座‘,‘金牛座‘,‘双子座‘,‘巨蟹座‘,‘狮子座‘,‘×××座‘,‘天秤座‘,‘天蝎座‘,‘射手座‘,‘摩羯座‘,‘水瓶座‘,‘双鱼座‘]
      # pro=[‘易燃易爆,干脆利落,敢作敢当,爱冒险‘,
      #      ‘精打细算,策划力强,有责任感‘,
      #      ‘脑子好,口才溜,变脸快,搞笑冠军‘,
      #      ‘人善,贴心,宅,心灵美‘,
      #      ‘慷慨,有原则,爱表现,不套路‘,
      #      ‘追求完美,处事冷静,独立,认真‘,
      #      ‘交际高手,人见人爱,内心忧郁‘,
      #      ‘神秘,狠,大胆,第六感强‘,
      #      ‘幽默率真,爱自由,有影响力‘,
      #      ‘耐力强,面瘫,自律律己,少言寡语‘,
      #      ‘求新鲜,爱动脑,思想前卫,触觉敏感,无情‘,
      #      ‘多愁善感,爱幻想,柔软可爱‘]
      #构造个人字典
      # man_dict=dict(zip(name,star))
      # print(man_dict)
      #构造星座字典
      # star_dict=dict(zip(star,pro))
      # print(star_dict)
      # new=dict(zip(man_dict,star_dict))
      
      # while True:
      #     name=input(‘please you name:‘)
      #     if name in man_dict:
      #         print(‘你名字:‘+str(name)+‘,‘+‘属于‘+ man_dict[name])
      #         print(‘特点:‘,star_dict[man_dict.get(name)])
      #     else:
      #         break

    Python之字典

    标签:items   不可   new   年龄   标识   搞笑   责任   其他   使用   

    原文地址:https://blog.51cto.com/12580678/2376534

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!