99久久久精品免费观看国产,紧身短裙女教师波多野,正在播放暮町ゆう子在线观看,欧美激情综合色综合啪啪五月

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

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

python 字典操作方法詳解

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

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

注意,浮點數比較很不精確,因此千萬不要用浮點數作為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)返回可遍歷的(鍵,值)元組數組,這個tuple的list包含了dictionary的所有數據

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

#1,請循環遍歷除所有的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.請循環輸出所有的key

b.請循環輸出所有的value

c.請循環輸出所有的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.請循環輸出所有的key

foriindic:

print(i)

foriindic.keys():

print(i)

#b.請循環輸出所有的value

foriindic.values():

print(i)

c.請循環輸出所有的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)

十、根據字典的鍵值進行排序

反序:reverse=True

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

print(mylist)

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

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

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,傳入的順序不一樣,那么得到的字典是不一樣的。

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

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您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
主站蜘蛛池模板: 多人乱p欧美在线观看| 欧美日韩精品一区二区三区不卡| 亚洲a在线视频| 98av视频| 最近的中文字幕视频完整| 国模人体沟沟| 久久香蕉国产| 久爱免费观看在线网站| 玉蒲团在线看| 免费观看性欧美大片无片| 国产麻豆剧果冻传媒一区| 免费大片av手机看片| 免费看欧美一级特黄a大片| 国产精品宅男在线观看| 欧美中文字幕无线码视频 | 老头猛挺进小莹的体内小说全集| 青青国产成人久久91| h视频免费观看| 新梅瓶1一5集在线观看| 国产精品宾馆在线| 动漫洗濯屋| 一道本在线播放| 三级毛片大全| 十九岁日本电影免费完整版观看| 国产精品无码2021在线观看| 国产美女久久精品香蕉69| 精品一区二区三区在线观看| 99久久精品免费看国产| 一级毛片免费播放男男| 么公的好大好深视频好爽想要| 韩国男女无遮挡高清性视频| 在线成人国产| 欧美激情一区二区三区| 国产成人综合在线视频| 亚洲欧美中文日韩在线| 嘟嘟嘟www在线观看免费高清| 国产激情一区二区三区| 8888四色奇米在线观看免费看| 日本三级理论| 欧美日韩精品| 女人扒开裤子让男人桶|