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

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

            手機(jī)站
            千鋒教育

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

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

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

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

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

            python 字典操作方法詳解

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

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

            注意,浮點(diǎn)數(shù)比較很不精確,因此千萬(wàn)不要用浮點(diǎn)數(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的鍵值對(duì)

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

            info.pop('work')

            print(info)

            結(jié)果:

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

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

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

            info.clear()

            print(info)

            結(jié)果:

            {}

            4-3setdefault():刪除指定的元素,如果沒(méi)有,則返回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():通過(guò)給定的key,查找對(duì)應(yīng)的value,如果給定的可以在字典中無(wú),則返回None

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

            a=info.get('age')

            print(a)

            結(jié)果:

            32

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

            同時(shí)在字典中增加'test':None鍵值對(duì)

            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'}

            二,更新里面沒(méi)有的信息,就是添加

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

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

            info.update(info2)

            print(info)

            結(jié)果:

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

            八、返回鍵,值,鍵值對(duì)

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

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

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

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

            #1,請(qǐng)循環(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.請(qǐng)循環(huán)輸出所有的key

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

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

            d.請(qǐng)?jiān)谧值渲刑砑右粋€(gè)鍵值對(duì),"k4":"v4",輸出添加后的字典

            e.請(qǐng)?jiān)谛薷淖值渲小発1”對(duì)應(yīng)的值為“alex”,輸出修改后的字典

            f.請(qǐng)?jiān)趉3對(duì)應(yīng)的值中追加一個(gè)元素44,輸出修改后的字典

            g.請(qǐng)?jiān)趉3對(duì)應(yīng)的值的第1個(gè)位置插入個(gè)元素18,輸出修改后的字典

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

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

            foriindic:

            print(i)

            foriindic.keys():

            print(i)

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

            foriindic.values():

            print(i)

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

            fori,jindic.items():

            print(i,j)

            #d.請(qǐng)?jiān)谧值渲刑砑右粋€(gè)鍵值對(duì),"k4":"v4",輸出添加后的字典

            dic2={'k4':'v4'}

            dic.update(dic2)

            print(dic)

            dic['k4']='v4'

            print(dic)

            #e.請(qǐng)?jiān)谛薷淖值渲小発1”對(duì)應(yīng)的值為“alex”,輸出修改后的字典

            dic['k1']='alex'

            print(dic)

            f.請(qǐng)?jiān)趉3對(duì)應(yīng)的值中追加一個(gè)元素44,輸出修改后的字典

            dic['k3'].append(44)

            print(dic)

            #g.請(qǐng)?jiān)趉3對(duì)應(yīng)的值的第1個(gè)位置插入個(gè)元素18,輸出修改后的字典

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

            print(dic)

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

            反序:reverse=True

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

            print(mylist)

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

            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這個(gè)數(shù)據(jù)結(jié)構(gòu)由于hash的特性,是無(wú)序的,這在有時(shí)候會(huì)給我們帶來(lái)一些麻煩,幸運(yùn)的時(shí),在collections模塊中為我們提供了OrderedDict,當(dāng)你需要獲取一個(gè)有序的字典對(duì)象時(shí),試用它即可。

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

            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é)果來(lái)看,如果是普通的字典,即使傳入的順序不一樣,但是依然是相同的字典;如果是OrderedDict,傳入的順序不一樣,那么得到的字典是不一樣的。

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

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
            免費(fèi)領(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
            Python 決策樹(shù)算法思想

            決策樹(shù)(decisiontree)是一個(gè)樹(shù)結(jié)構(gòu)(可以是二叉樹(shù)或者非二叉樹(shù))。決策樹(shù)分為分類樹(shù)和回歸樹(shù)兩種,分類樹(shù)對(duì)離散變量做決策樹(shù),回歸樹(shù)對(duì)連續(xù)變量做...詳情>>

            2023-11-07 23:10:00
            Python C4.5算法

            ID3算法的作者昆蘭基于上面的不足,對(duì)ID3算法做了改進(jìn),這就是C4.5算法,也許你會(huì)問(wèn),為什么不叫ID4,ID5之類的名字呢?那是因?yàn)闆Q策樹(shù)當(dāng)時(shí)太火...詳情>>

            2023-11-07 23:02:48
            Python 面向過(guò)程

            python面向過(guò)程優(yōu)點(diǎn):復(fù)雜的問(wèn)題流程化,進(jìn)而簡(jiǎn)單化(一個(gè)復(fù)雜的問(wèn)題,分成一個(gè)個(gè)小的步驟去實(shí)現(xiàn),實(shí)現(xiàn)小的步驟將會(huì)非常簡(jiǎn)單)舉個(gè)典型的面向過(guò)程...詳情>>

            2023-11-07 22:55:36
            Python編程規(guī)范的重要性

            首先談一下注釋:注釋不止是為了自己以后看的更清楚,還是為了以后的開(kāi)發(fā)人員所準(zhǔn)備的,其實(shí)一段時(shí)間后,當(dāng)需要對(duì)程序做一些修改或者是改正某個(gè)...詳情>>

            2023-11-07 22:37:35
            Python 基本語(yǔ)句

            1.條件語(yǔ)句在進(jìn)行邏輯判斷時(shí),我們需要用到條件語(yǔ)句,Python提供了if、elif、else來(lái)進(jìn)行邏輯判斷。格式如下所示:if判斷條件1:執(zhí)行語(yǔ)句1...elif...詳情>>

            2023-11-07 22:30:23