国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術干貨  > python 字典操作方法詳解

            python 字典操作方法詳解

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

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

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

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

            list=[1,2,3,4]

            info2={list:'number'}

            結果:

            Traceback(mostrecentcalllast):

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

            info2={list:'number'}

            TypeError:unhashabletype:'list'

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

            1list.__hash__;

            #結果為None

            2set.__hash__;

            #結果為None

            3dict.__hash__;

            #結果為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)

            結果:

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

            四、刪

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

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

            info.pop('work')

            print(info)

            結果:

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

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

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

            info.clear()

            print(info)

            結果:

            {}

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

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

            info.setdefault('son')

            print(info)

            結果:

            None

            五、改

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

            info['age']='33'

            print(info)

            結果:

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

            六、查

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

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

            a=info.get('age')

            print(a)

            結果:

            32

            6-2setdefault():通過給定的key,查找對應的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)

            結果:

            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)

            結果:

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

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

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

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

            info.update(info2)

            print(info)

            結果:

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

            八、返回鍵,值,鍵值對

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

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

            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)

            #結果:

            k1

            k2

            k3

            v1

            v2

            v3

            k1:v1

            k2:v2

            k3:v3

            九、練習字典

            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”對應的值為“alex”,輸出修改后的字典

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

            g.請在k3對應的值的第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”對應的值為“alex”,輸出修改后的字典

            dic['k1']='alex'

            print(dic)

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

            dic['k3'].append(44)

            print(dic)

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

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

            print(dic)

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

            反序:reverse=True

            mylist=['學習','工作','玩耍','學習','工作','工作']

            print(mylist)

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

            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ù)結構由于hash的特性,是無序的,這在有時候會給我們帶來一些麻煩,幸運的時,在collections模塊中為我們提供了OrderedDict,當你需要獲取一個有序的字典對象時,試用它即可。

            python中的字典(dict)對象可使用“鍵”,“值”對的形式存取值,但默認的內(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)

            輸出結果:

            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

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

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

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