Python之字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之字典相关的知识,希望对你有一定的参考价值。

  • 字典
    字典为键值的形式,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(‘
    方法2‘)
    for k,v in d2.items():
            print(k,‘=‘,v,end=‘ ‘)
    
    #遍历字典的key
    print(‘
    方法3‘)
    for key in d2.keys():
            print(key,end=‘ ‘)
    
    #遍历字典的值
    print(‘
    方法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之字典的主要内容,如果未能解决你的问题,请参考以下文章

Python snippet(代码片段)

Python代码阅读(第26篇):将列表映射成字典

Python代码阅读(第40篇):通过两个列表生成字典

python之字典

python之字典操作

python---基础之模块,列表,元组,字典