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)
      Python之字典

    • 字典查看
      需要通過key鍵去查找對應的值,若key不存在報錯。
      Python之字典
      判斷某個可以是否是該成員:
      Python之字典
    • 字典修改

      #修改
      print('jerry原來的年齡:{:d}'.format(d2['age']))
      d2['age']=30
      print('jerry修改後的年齡:{:d}'.format(d2['age']))
      #若修改不存在的key值會添加方法修改
      d2['sex']='male'
      Python之字典

    • 字典添加
      d2[key]=value
    • 字典刪除
      del d2[key]
      Python之字典
    • 字典遍歷
    #字典遍歷
    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=' ')

    Python之字典

    • 字典推導式
      形式類似列表元組操作:
      d6={expression:for iter_var in interable [if condition] }
      Python之字典

  • 簡單使用
    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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章