Python 字典中的所有方法及用法
字典是Python中唯一內(nèi)建的映射類(lèi)型。字典中沒(méi)有特殊的順序,但都是存儲(chǔ)在一個(gè)特定的鍵(key)下面,鍵可以是數(shù)字,字符串,甚至是元組
字典的使用
在某些情況下,字典比列表更加適用:1、表示一個(gè)游戲棋盤(pán)的狀態(tài),每個(gè)鍵都是由坐標(biāo)值組成的元組2、存儲(chǔ)文件修改時(shí)間,用文件名作為鍵;3、數(shù)字電話(huà)地址薄
創(chuàng)建字典的五種方式
# 字典的創(chuàng)建方式# 方式一 {key: value}dict1 = {’one’: 1, ’two’: 2, ’three’: 3}print(dict1)# 方式二 dict(zip(keys, values))# dict([(k, v), (k, v)])dict2 = dict([(’one’, 1), (’two’, 2), (’three’, 3)])print(dict2)# dict(((k, v), (k, v)))dict3 = dict(((’one’, 1), (’two’, 2), (’three’, 3)))print(dict3)# 方式三 dict(key=value)dict4 = dict(one=1, two=2, three=3)print(dict4)# 方式四 字典推導(dǎo)式lst1 = [’one’, ’two’, ’three’]lst2 = [1, 2, 3]dict5 = {lst1[i]: lst2[i] for i in range(len(lst1))}print(dict5)# 方式五 fromkeys# 沒(méi)有指定value,默認(rèn)Nonedict6 = dict.fromkeys([’k1’, ’k2’, ’k3’])print(dict6) # {’k1’: None, ’k2’: None, ’k3’: None}# 指定valuedict7 = dict.fromkeys([’k1’, ’k2’, ’k3’], ’value’)print(dict7) # {’k1’: ’value’, ’k2’: ’value’, ’k3’: ’value’}
字典的示例
1. setdefault使用
# 有則不變,無(wú)則增加dic1 = {’name’: ’lucy’, ’age’: 18}dic1.setdefault(’age’, 45) # {’name’: ’lucy’, ’age’: 18}dic1.setdefault(’sex’, ’男’) # {’name’: ’lucy’, ’age’: 18, ’sex’: ’男’}
2. pop使用
# 按照鍵刪除鍵值對(duì),有返回值# 如果設(shè)置了第二個(gè)參數(shù)則無(wú)論字典中有無(wú)此鍵都不會(huì)報(bào)錯(cuò)dic2 = {’name’: ’lucy’, ’age’: 18}ret2 = dic2.pop(’age’)print(ret2) # 18print(dic2) # {’name’: ’lucy’}dic3 = {’name’: ’lucy’, ’age’: 18}ret3 = dic3.pop(’sex’, ’沒(méi)有此鍵’)print(ret3) # 沒(méi)有此鍵print(dic3) # {’name’: ’lucy’, ’age’: 18}
3. clear使用
# 清空dic4 = {’name’: ’lucy’, ’age’: 18}dic4.clear()print(dic4) # {}
4. get使用
dic5 = {’name’: ’lucy’, ’age’: 18, ’hobby_list’: [’study’, ’play’, ’shopping’]}l1 = dic5.get(’hobby_list’)print(l1) # [’study’, ’play’, ’shopping’]l2 = dic5.get(’sex’)print(l2) # Nonel3 = dic5.get(’sex’, ’沒(méi)有此鍵’)print(l3) # 沒(méi)有此鍵
5. keys()使用
dic6 = {’name’: ’lucy’, ’age’: 18, ’hobby_list’: [’study’, ’play’, ’shopping’]}# 1. 特殊的數(shù)據(jù)類(lèi)型,類(lèi)似于列表,但是沒(méi)有索引print(dic6.keys(), type(dic6.keys())) # dict_keys([’name’, ’age’, ’hobby_list’]) <class ’dict_keys’># 2. 可以轉(zhuǎn)化成列表l1 = list(dic6.keys())print(l1) # [’name’, ’age’, ’hobby_list’]# 3. 循環(huán)遍歷for k in dic6.keys(): print(k, end=’,’) # name,age,hobby_list,for k in dic6: print(k, end=’,’) # name,age,hobby_list,
6. values()使用
dic7 = {’name’: ’lucy’, ’age’: 18, ’hobby_list’: [’study’, ’play’, ’shopping’]}# 1. 特殊的數(shù)據(jù)類(lèi)型,類(lèi)似于列表,但是沒(méi)有索引print(dic7.values()) # dict_values([’lucy’, 18, [’study’, ’play’, ’shopping’]])# 2. 可以轉(zhuǎn)化成列表print(list(dic7.values())) # [’lucy’, 18, [’study’, ’play’, ’shopping’]# 3. 循環(huán)遍歷for val in dic7.values(): print(val, end=’,’) # lucy,18,[’study’, ’play’, ’shopping’],
7. items()使用
dic8 = {’name’: ’lucy’, ’age’: 18, ’hobby_list’: [’study’, ’play’, ’shopping’]}print(dic8.items()) # dict_items([(’name’, ’lucy’), (’age’, 18), (’hobby_list’, [’study’, ’play’, ’shopping’])])for it in dic8.items(): print(it)# (’name’, ’lucy’)# (’age’, 18)# (’hobby_list’, [’study’, ’play’, ’shopping’])# 利用了元組的拆包for key, value in dic8.items(): print(key, value)# name lucy# age 18# hobby_list [’study’, ’play’, ’shopping’]
8. update()使用
# 更新,有則覆蓋,無(wú)則添加# 1. 增加鍵值對(duì)# 方式一:dic9 = {’name’: ’lucy’, ’age’: 18}dic9.update(hobby=’運(yùn)動(dòng)’, hight=178)print(dic9) # {’name’: ’lucy’, ’age’: 18, ’hobby’: ’運(yùn)動(dòng)’, ’hight’: 178}# 方式二:dic10 = {’name’: ’lucy’, ’age’: 18}dic10.update([(’hobby’, ’運(yùn)動(dòng)’), (’hight’, 178)])print(dic10) # {’name’: ’lucy’, ’age’: 18, ’hobby’: ’運(yùn)動(dòng)’, ’hight’: 178}# 方式三:dic11 = {’name’: ’lucy’, ’age’: 18}dic12 = {’name’: ’tom’, ’hight’: 178}dic11.update(dic12)print(dic11) # {’name’: ’tom’, ’age’: 18, ’hight’: 178}# 2. 修改鍵所對(duì)應(yīng)的值dic13 = {’name’: ’lucy’, ’age’: 18}dic13.update(name=’tom’)print(dic13) # {’name’: ’tom’, ’age’: 18}
9. fromkeys()使用
# 沒(méi)有指定value,默認(rèn)Nonedict14 = dict.fromkeys([’k1’, ’k2’, ’k3’])print(dict14) # {’k1’: None, ’k2’: None, ’k3’: None}# 指定valuedict14 = dict.fromkeys([’k1’, ’k2’, ’k3’], ’value’)print(dict14) # {’k1’: ’value’, ’k2’: ’value’, ’k3’: ’value’}
10. copy使用
# 淺拷貝dict15 = dict(one=1, two=2, three=3)dict16 = dict15.copy()print(dict16)
11. popitem()使用
# 隨機(jī)刪除字典中的一對(duì) 鍵和值dict17 = dict(one=1, two=2, three=3)a = dict17.popitem()print(a)print(dict17)
到此這篇關(guān)于Python 字典中的所有方法及用法的文章就介紹到這了,更多相關(guān)Python 字典方法及用法內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Nginx+php配置文件及原理解析2. Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技(必看篇)3. Android自定義View實(shí)現(xiàn)掃描效果4. java中throws實(shí)例用法詳解5. Opencv+Python識(shí)別PCB板圖片的步驟6. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效7. IOS利用CocoaHttpServer搭建手機(jī)本地服務(wù)器8. Android Manifest中meta-data擴(kuò)展元素?cái)?shù)據(jù)的配置與獲取方式9. css3溢出隱藏的方法10. ASP.NET MVC獲取多級(jí)類(lèi)別組合下的產(chǎn)品
