91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

      手機站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

      千鋒教育

      掃一掃進入千鋒手機站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時隨地免費學(xué)習(xí)課程

      當(dāng)前位置:首頁  >  技術(shù)干貨  > python 字典操作方法詳解

      python 字典操作方法詳解

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-11-07 20:09:59 1699358999

      字典是一種通過名字或者關(guān)鍵字引用的得數(shù)據(jù)結(jié)構(gòu),key類型需要時被哈希,其鍵可以是數(shù)字、字符串、元組,這種結(jié)構(gòu)類型也稱之為映射。字典類型是Python中唯一內(nèi)建的映射類型。

      注意,浮點數(shù)比較很不精確,因此千萬不要用浮點數(shù)作為key!

      一、字典的鍵不能是list類型:

      list=[1,2,3,4]

      info2={list:'number'}

      結(jié)果:

      Traceback(mostrecentcalllast):

      File"D:/字典.py",line2,in

      info2={list:'number'}

      TypeError:unhashabletype:'list'

      二、list/set/dict均不可被哈希,int、float、str、tuple:是可以哈希的

      1list.__hash__;

      #結(jié)果為None

      2set.__hash__;

      #結(jié)果為None

      3dict.__hash__;

      #結(jié)果為None

      4print(int.__hash__);

      #

      5print(float.__hash__);

      #

      6print(str.__hash__);

      #

      7print(tuple.__hash__);

      #

      三、增

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      info['sex']='fale'

      print(info)

      結(jié)果:

      {'name':'jamnes','age':'32','work':'basketplayer','sex':'fale'}

      四、刪

      4-1pop():刪除指定key的鍵值對

      nfo={'name':'jamnes','age':'32','work':'basketplayer'}

      info.pop('work')

      print(info)

      結(jié)果:

      {'name':'jamnes','age':'32'}

      4-2clear():清除所有的鍵值對

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      info.clear()

      print(info)

      結(jié)果:

      {}

      4-3setdefault():刪除指定的元素,如果沒有,則返回none

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      info.setdefault('son')

      print(info)

      結(jié)果:

      None

      五、改

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      info['age']='33'

      print(info)

      結(jié)果:

      {'name':'jamnes','age':'33','work':'basketplayer'}

      六、查

      6-1get():通過給定的key,查找對應(yīng)的value,如果給定的可以在字典中無,則返回None

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      a=info.get('age')

      print(a)

      結(jié)果:

      32

      6-2setdefault():通過給定的key,查找對應(yīng)的value,如果給定的可以在字典中無,則返回None,

      同時在字典中增加'test':None鍵值對

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      a=info.setdefault('age')

      print(a)

      print(info)

      b=info.setdefault('sex')

      print(b)

      print(info)

      結(jié)果:

      32

      {'name':'jamnes','age':'32','work':'basketplayer'}

      None

      {'name':'jamnes','age':'32','work':'basketplayer','sex':None}

      七、更新

      7-1update()=

      一,更新里面有的信息,就是改變

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      info2={'name':'wade','age':'33','work':'basketplayer'}

      info.update(info2)

      print(info)

      結(jié)果:

      {'name':'wade','age':'33','work':'basketplayer'}

      二,更新里面沒有的信息,就是添加

      info={'name':'jamnes','age':'32','work':'basketplayer'}

      info2={'honor':'3champions'}

      info.update(info2)

      print(info)

      結(jié)果:

      {'name':'jamnes','age':'32','work':'basketplayer','honor':'3champions'}

      八、返回鍵,值,鍵值對

      keys():以列表(list)返回字典中的所有鍵(key),字典是無序的,所以這個list返回的不是定義字典的順序

      values():以列表(list)返回字典中的所有值,這個list的順序跟keys()返回的list順序是一一對應(yīng)的

      items():以列表(list)返回可遍歷的(鍵,值)元組數(shù)組,這個tuple的list包含了dictionary的所有數(shù)據(jù)

      dict={'k1':'v1','k2':'v2','k3':'v3'}

      #1,請循環(huán)遍歷除所有的key

      forkeysindict.keys():

      print(keys)

      #遍歷出所有的value

      forvalueindict.values():

      print(value)

      #遍歷出

      forkey,valueindict.items():

      print(key+':'+value)

      #結(jié)果:

      k1

      k2

      k3

      v1

      v2

      v3

      k1:v1

      k2:v2

      k3:v3

      九、練習(xí)字典

      dic={'k1':"v1","k2":"v2","k3":[11,22,33]}

      a.請循環(huán)輸出所有的key

      b.請循環(huán)輸出所有的value

      c.請循環(huán)輸出所有的key和value

      d.請在字典中添加一個鍵值對,"k4":"v4",輸出添加后的字典

      e.請在修改字典中“k1”對應(yīng)的值為“alex”,輸出修改后的字典

      f.請在k3對應(yīng)的值中追加一個元素44,輸出修改后的字典

      g.請在k3對應(yīng)的值的第1個位置插入個元素18,輸出修改后的字典

      dic={'k1':"v1","k2":"v2","k3":[11,22,33]}

      #a.請循環(huán)輸出所有的key

      foriindic:

      print(i)

      foriindic.keys():

      print(i)

      #b.請循環(huán)輸出所有的value

      foriindic.values():

      print(i)

      c.請循環(huán)輸出所有的key和value

      fori,jindic.items():

      print(i,j)

      #d.請在字典中添加一個鍵值對,"k4":"v4",輸出添加后的字典

      dic2={'k4':'v4'}

      dic.update(dic2)

      print(dic)

      dic['k4']='v4'

      print(dic)

      #e.請在修改字典中“k1”對應(yīng)的值為“alex”,輸出修改后的字典

      dic['k1']='alex'

      print(dic)

      f.請在k3對應(yīng)的值中追加一個元素44,輸出修改后的字典

      dic['k3'].append(44)

      print(dic)

      #g.請在k3對應(yīng)的值的第1個位置插入個元素18,輸出修改后的字典

      dic['k3'].insert(0,18)

      print(dic)

      十、根據(jù)字典的鍵值進行排序

      反序:reverse=True

      mylist=['學(xué)習(xí)','工作','玩耍','學(xué)習(xí)','工作','工作']

      print(mylist)

      #list_element是另外一個列表,里面的內(nèi)容是list_element里面的無重復(fù)項

      myset=set(mylist)

      mydict={}

      foriteminmyset:

      res=mylist.count(item)

      sample={item:res}

      #print(res)

      #print("the%dhasfound%d"%(item,mylist.count(item)))

      mydict.update(sample)

      print(mydict)

      print(sorted(mydict.items(),key=lambdamydict:mydict[1],reverse=True))

      十一、OrderedDict的使用

      在Python中,dict這個數(shù)據(jù)結(jié)構(gòu)由于hash的特性,是無序的,這在有時候會給我們帶來一些麻煩,幸運的時,在collections模塊中為我們提供了OrderedDict,當(dāng)你需要獲取一個有序的字典對象時,試用它即可。

      python中的字典(dict)對象可使用“鍵”,“值”對的形式存取值,但默認(rèn)的內(nèi)置類型字典中的元素是無序的。Collections模塊下的OrderedDict類實現(xiàn)了對字典的排序,OrderedDict是dict的一個子類,實現(xiàn)了對字典排序的功能,下面看一下兩者數(shù)據(jù)類型的對比。

      fromcollectionsimportOrderedDict

      print('NormalDictionary:')

      d={}

      d['name']='v1'

      d['age']='v2'

      d['job']='v3'

      d['address']='v4'

      d1={}

      d1['job']='v3'

      d1['address']='v4'

      d1['name']='v1'

      d1['age']='v2'

      print(d)

      print(d1)

      print(d==d1)

      print('OrderedDict:')

      d2=OrderedDict()

      d2['name']='v1'

      d2['age']='v2'

      d2['job']='v3'

      d3=OrderedDict()

      d3['job']='v3'

      d3['age']='v2'

      d3['name']='v1'

      print(d2)

      print(d3)

      print(d2==d3)

      輸出結(jié)果:

      NormalDictionary:

      {'name':'v1','age':'v2','job':'v3','address':'v4'}

      {'job':'v3','address':'v4','name':'v1','age':'v2'}

      True

      OrderedDict:

      OrderedDict([('name','v1'),('age','v2'),('job','v3')])

      OrderedDict([('job','v3'),('age','v2'),('name','v1')])

      False

      從結(jié)果來看,如果是普通的字典,即使傳入的順序不一樣,但是依然是相同的字典;如果是OrderedDict,傳入的順序不一樣,那么得到的字典是不一樣的。

      以上內(nèi)容為大家介紹了python字典操作方法詳解,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
      請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
      免費領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT